5.String 和 StringBuffer类常用方法
发表日期:2015-07-07 23:16:51 | 来源: | | 浏览(915) 分类:JAVA基础
StringDemo
public class StringDemo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String name1 = "eniac";
String name2 = new String("eniac");
String name3 = "eniac";
String name4 = new String("eniac");
System.out.println(name1);//eniac
System.out.println(name2);//eniac
System.out.println(name3);//eniac
System.out.println(name4);//eniac
//那么比较一下呢?
System.out.println(name1==name2);//false
System.out.println(name1==name3);//true
System.out.println(name2==name4);//false
/* 值都是eniac,为什么会不同呢?这就要内存分析了,
* JAVA这个语言 A==B 和其他语言不同,它不是比较内容的值是否相同,而是比较内存地址是否相同
* new String() 会每次都开辟一个新空间,所以内存地址会不同,
* 而 String name1 = "eniac",会开辟一次 而 String name3 = "eniac" 会引用上一次name1的内存地址
* 所以,从性能而言,尽量使用 String name3 = xxx 的
*/
//如果一定要比较值是否相同,我们不在意内存地址是否相同的话,可以这样
System.out.println(name1.equals(name2));//true
//字符串换成字符数组
String str1 = "canquick";
char[] Cstr1 = str1.toCharArray();
System.out.println(Cstr1);//canquick
for (int i = 0; i < Cstr1.length; i++) {
char c = Cstr1[i];
System.out.println(c);//c、a、n、q、u、i、c、k
}
//字符数组换成字符串
String str2 = new String(Cstr1);
String str3 = new String(Cstr1,3,5);
System.out.println(str2);//canquick
System.out.println(str3);//quick
//从字符串中取出指定位置的字符
char str4 = str1.charAt(3);
System.out.println(str4);//q
//字符串与byte数组转换
byte[] byte1 = str1.getBytes();
System.out.println(byte1);
System.out.println(new String(byte1));//canquick
System.out.println(new String(byte1,3,5));//canquick
//取得一个字符串的长度
System.out.println(str1.length());//8
//查找指定字符串是否存在
System.out.println(str1.indexOf("i"));//5
System.out.println(str1.indexOf("i",3));//从第四个位置开始查找
//去掉空格
System.out.println(" hello !".trim());//hello !
//字符截取
System.out.println(str1.substring(1, 3));//an
//拆分字符串
String str5[] = str1.split("i");
for (String string : str5) {
System.out.println(string);//canqu、ck
}
//大小写转换
System.out.println(str1.toUpperCase());//CANQUICK (toLowerCase:转小写)
//判断字符串是否以指定字符开头或结尾
System.out.println(str1.startsWith("can"));//true
System.out.println(str1.endsWith("ck"));//true
//不区分大小写比较
System.out.println(str1.equalsIgnoreCase("CANQUICK"));//true
//字符串替换
System.out.println(str1.replaceAll("quick", "like"));//canlike
}
}StringBufferDemo
public class StringBufferDemo01 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
StringBuffer buffer = new StringBuffer();
buffer.append("Hello");//Hello
buffer.append("world").append("!!!");//Helloworld!!!//字符串插入
buffer.insert(5," ");//Hello world!!!
buffer.reverse();//!!!dlrow olleH//字符串反转
buffer.reverse();//Hello world!!!
buffer.replace(6, 11, "ENIAC");//Hello ENIAC!!!//字符串替换
System.out.println(buffer.substring(6, 11));//ENIAC 字符串截取
buffer.delete(6, 11);//Hello !!!//字符串删除
System.out.println(buffer.indexOf("llo"));//2 //查找字符串(-1为无)
System.out.println(buffer);
}
}- JAVA(0)
- JAVA基础(30)
- 1.JAVA开发环境配置(0)
- 2.java数据类型(0)
- 3.数组(0)
- 4.Date(0)
- 5.String 和 StringBuffer类常用方法(0)
- 6.Math类(0)
- 7.Cloneable(0)
- 8.File 文件(0)
- 9.FileReader和FileWriter(0)
- 10.RandomAccessFile(0)
- 11.FileInputStream和FileOutputStream(0)
- 12.InputStreamReader和OutputStreamWriter(0)
- 13.BufferedReader(0)
- 14.Scanner(0)
- 15.DataOutputStream(0)
- 16.Thead 多线程(0)
- 17.TimerTask(0)
- 18.zip(0)
- 19.Charset(0)
- 20.List(0)
- 21.Map(0)
- 22.Properties(0)
- 23.Enumeration(0)
- 24.Collection(0)
- 25.JDBC(0)
- 26.Iterator(0)
- 27.Abstract(0)
- 28.Interface(0)
- 29.Serializable(0)
- 30.Camparable(0)
- JSP基础(50)
宁公网安备 64010402001209号