String类代表不可变的字符序列。
String s1 = "hello";
String s2 = "hello";
s1 == s2 ==> true
"hello"是字符串常量,存在data seg中,编译器对data seg有优化,对于已经有的数据,不是重新分配空间,而是指向同一个。
String s1 = new String("hello");
String s2 = new String("hello");
s1 == s2 ==> false : 指向的不是同一个对象(new)
s1.equals(s2) ==> true : String类重写了equals方法
String类常用方法:charAt(),length(),indexOf(),equalsIgnoreCase(),replace(),substring(),toLowerCase(),trim(),startWiths(),split()。
public static String valueOf(基本数据类型/对象类型): 将基本数据类型/对象类型转换为字符串。
StringBuffer类代表可变得字符序列。
String s1 = "hello";
String s2 = "world";
s1 += s2 是指向另一个内存,内存内copy了s1和s2。
StringBuffer s1 = "hello";
StringBuffer s2 = "hello";
s1 += s2 是直接在s1后添加,更快。
StringBuffer类常用方法:append()