1.String 是固定长度的字符串。这是因为String出来的字符串存储在字符串常量池中,常量池中的字符串的长度是不会改变的。
StringBulider和StringBuffer 的长度是可变的。StringBuilder和StringBuffer通过构造函数来创建字符串对象,创造出来的对象值是存储在堆内存中,StringBulider 和StringBuffer可以利用append()方法拼接字符串,也就是new出来的对象可以继续拼接在原来的存储空间上。
2.StringBulider的执行效率比StringBuffer 高,也比String高。
3.StringBuffer 是线程安全的,这是因为StringBuffer重写的父类的方法都是被synchronized所修饰,保证了线程的安全。StringBuilder是非线程安全的。String由于是被final所修饰,线程安全。
本文详细比较了Java中的String、StringBuilder和StringBuffer三种字符串类型的特性。解释了String为何是不可变的,StringBuilder和StringBuffer如何实现字符串拼接,并分析了它们之间的性能差异及线程安全性。
1266

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



