String 类
String类对象代表不可变的Unicode字符序列 :被final修饰
字符串比较使用equals()方法
StringBuffer StringBuilder类
与String类不同的是, StringBuffer和StringBuilder字符串可修改即可变字符序列
StringBuilder线程不安全,效率高
StringBuffer线程安全,效率低
public class TestStringBuilder {
public static void main(String[] args) {
//StringBuilder线程不安全,效率高
//StringBuffer 线程安全,效率低
StringBuilder a = new StringBuilder("abcdefg");
System.out.println(Integer.toHexString(a.hashCode()));
System.out.println(a);
a.setCharAt(0,'A');
System.out.println(Integer.toHexString(a.hashCode()));
System.out.println(a);
}
}
运行结果:
7852e922
abcdefg
7852e922
Abcdefg
可以看出StringBuilder类的字符串序列可以改变,即同一个对象字符串改变了