String、StringBuffer 和 StringBuilder
2022-08-31 05:55:46
请告诉我一个实时的情况来比较, , 和 ?String
StringBuffer
StringBuilder
请告诉我一个实时的情况来比较, , 和 ?String
StringBuffer
StringBuilder
可变性差异:
String
是不可变的,如果您尝试更改它们的值,则会创建另一个对象,而 并且是可变的,因此它们可以更改其值。StringBuffer
StringBuilder
螺纹安全区别:
和 之间的区别在于线程安全。因此,当应用程序只需要在单个线程中运行时,最好使用 。 比 更有效。StringBuffer
StringBuilder
StringBuffer
StringBuilder
StringBuilder
StringBuffer
情况:
String
StringBuilder
StringBuffer
StringBuffer
字符串
;从 中获取新的字符序列可能会在 CPU 时间或内存中带来不可接受的性能损失(获取子字符串是 CPU 效率的,因为不会复制数据,但这意味着可能仍然分配了大量数据)。String
StringBuilder
。StringBuffer
,但当必须同步对基础字符串的更改时(因为多个线程正在读取/修改字符串缓冲区)。StringBuilder
请参阅此处的示例。