- String
String类是不可改变的,一旦创建了String对象,name它的值就无法改变
String s = "Google";
System.out.println("s = " + s);
s = "Runoob";
System.out.println("s = " + s);
Google
Runoob
原因在于实例中的
s
只是一个
String
对象的引用,并不是对象本身,当执行
s = "Runoob";
创建了一个新的对象 "Runoob",而原来的 "Google" 还存在于内存中。
- StringBuffer和StringBuilder类
和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不会产生新的未使用的对象
StringBuilder类和StringBuffer之间最大的区别在于StringBuilder的方法不是线程安全的(不能同步访问)。
StringBuilder类:线程不安全,速度快,一般使用这个
StringBuffer: 线程安全,速度较慢,要求线程安全的情况在使用这个