String :
-
(1)String对象是不可变的,一旦赋值不可改变,是常量。
-
String s = "abc"; // "abc" 可以看成一个字符换对象
-
s = "bcd"; //把"bcd"赋值给s,原来的"abc" 就变成了垃圾
-
-
(2)String 的比较,"==" 比较地址,"equals"比较内容
-
String s1 = "abc";
-
String s2 = "abc";
-
String s3 = new String ("abc");
-
s1 == s2 //true 地址相同;s1 == s3 //false 地址不同;
-
s1.equals(s2) //true 内容相同 ;s1.equals(s3) //true 内容相同
-
StringBuffer:
-
(1)StringBuffer是可变的字符序列,每次都是对StringBuffer对象本身进行操作;一个类似于String的字符串缓冲区,但不能修改(String字符串可以与其他任意类型用"+"号连接,但StringBuffer不可以用"+"号连接改变)
-
(2)线程安全 ,效率低
StringBuilder:
-
(1)一个可变的字符序列。
-
(2)线程不安全 ,效率高