[Java]String、StringBuffer和StringBuilder的区别

String:

String是不可变类,一旦一个String对象被创建之后,String对象的字符串序列是不可变的。

String a = "abc";
a = "bcd";

当我们对a重新赋值时,会重新new一个String对象,使a重新指向新的String对象。

StringBuffer:

StringBuffer对象是可变字符串对象,可以通过append(),insert()等方式对原有对象的字符串序列进行修改。StringBuffer对象可以通过toString()转换成String对象。

StringBuilder:

StringBuilder对象也是可变字符串对象,其使用与StringBuffer大同小异,只是StringBuffer通过将所有方法添加synchronized关键字实现了线程安全,而StringBuilder没有实现线程安全。

猜你喜欢

转载自www.cnblogs.com/liusandao/p/12324821.html