String 定长字符串(字符常量),一旦定义则无法改变,只能改变引用的指向,指向不同的地址,在对字符串做少量操作时效率较高,不适合作与大量字符串拼接
StringBuffer 可变长度的字符序列,内部包含一个字符缓冲区,所有在进行字符串拼接时效率高,但是由于其线程同步性,所以在多线环境下使用时效率会有所下降
StringBuilder 跟StringBuffer共享ApI,所有在多线程环境下使用效率与StirngBuffer一致,
但是由于其线程不同步,所以在多线程环境下使用,效率比StringBuffer高,但是由于线程不同步,可能会由于并发导致结果不一致.
本文详细解析了Java中String、StringBuffer及StringBuilder三种字符串类型的特性与适用场景。对比了它们在内存中如何存储,以及在不同环境下(如单线程或多线程)的操作效率。通过本文,读者可以更好地理解何时选择哪种字符串类型。
171

被折叠的 条评论
为什么被折叠?



