Java 中 String、StringBuffer 和 StringBuilder 类之间有什么区别?
java 8object oriented programmingprogramming更新于 2025/9/18 6:36:17
java.lang 包中的 String 类表示字符串。Java 程序中的所有字符串字面量,例如"abc",都是作为此类的实例实现的。字符串是常量,其值一旦创建就无法更改。
当需要对字符串进行大量修改时,可以使用 StringBuffer 和 StringBuilder 类。
与字符串不同,StringBuffer 和 String Builder 类型的对象可以反复修改,而不会留下大量新的未使用对象。
StringBuilder 类是从 Java 5 开始引入的,StringBuffer 和 StringBuilder 之间的主要区别在于 StringBuilder 的方法不是线程安全的(非同步的)。
建议尽可能使用 StringBuilder,因为它比 StringBuffer 更快。但是,如果需要线程安全,则最佳选择是 StringBuffer 对象。
示例
public class Sample {
public static void main(String args[]){
String str = new String("Hello how are you");
StringBuffer sb = new StringBuffer(str);
String str2 = sb.reverse().toString();
System.out.println(str2);
}
}
输出
uoy era woh olleH

