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

相关文章