[JAVASE] String类 StringBuffer类 StringBuilder类
String类:
- 不可变的字符序列
- 每次对String类型进行改变时,都会创建一个新的String对象
- 适用于少量的字符串操作
- 线程安全
StringBuffer类:
- 可变的字符序列
- 在进行字符串拼接或其他操作时,不会创建新的对象
- 适用于多线程环境下
- 线程安全
StringBuilder类:
- 可变的字符序列
- 在进行字符串拼接或其他操作时,不会创建新的对象
- 主要用于单线程环境下
- 线程不安全
性能比较:
String < StringBuffer < StringBuilder
在单线程环境下,如果不考虑线程安全问题,建议使用StringBuilder,因为它的性能最佳。
代码示例:
// String类
String str1 = "Hello";
String str2 = "World";
String str3 = str1 + str2; // 实际上创建了一个新的对象
// StringBuffer类
StringBuffer sb1 = new StringBuffer("Hello");
StringBuffer sb2 = new StringBuffer("World");
sb1.append(sb2); // 不会创建新的对象
// StringBuilder类
StringBuilder sb3 = new StringBuilder("Hello");
StringBuilder sb4 = new StringBuilder("World");
sb3.append(sb4); // 不会创建新的对象
评论已关闭