Java之String、StringBuffer、StringBuilder

(1)String:
String类是final修饰的,是不可变的。我们看到的例如:
String a = "hello";
a = a + "1";
实际上是先生成了一个对象然后得到结果"hello1",最后在赋值给对象a;
String 类型的任何改动都是先生成一个其他对象再重新赋值。
所以String类适合那种常量或者基本没变化的字符串。

(2)StringBuilder
Stringbuffer是可改变的,用append就可以增加字符。适用于经常改动的字符串。

(3)StringBuffer
StringBuffer和StringBuilder可以看出是一样的实现,不同在于StringBuffer加了synchronized 关键字,他是线程安全的。如果牵涉多线程用这个比较好。

总结:
String类适合那种常量或者基本没变化的字符串。
StringBuilder适用于经常改动的字符串。
StringBuffer适用于多线程的改动的字符串。

你可能感兴趣的:(Java之String、StringBuffer、StringBuilder)