StringBuffer和StringBuilder
StringBuffer是JDK1.0版本的,是线程安全的,采用synchronized加锁实现,效率比较低;StringBuilder是JDK1.5版本的,是线程不安全的,效率比较高。StringBuffer和StringBuilder里面的方法是完全相同的。
StringBuffer、StringBuilder和String
String是一个不可变的字符串,而StringBuffer和StringBuilder是可变的字符串。
String和StringBuffer作为参数传递
在Java中,基本数据类型的值传递,不改变实参的值;引用数据类型的值传递,会改变实参的值。但是String作为值传递时,和基本数据类型一样,不会改变实参的值,因为String是不可变的字符串。而StringBuffer作为参数传递会改变实参的值,代码如下:
运行结果如下: