Java 中 StringBuffer 和 StringBuilder 的区别


StringBuffer 和 StringBuilder 都是可变类,可用于对字符串对象执行操作,例如字符串反转、字符串连接等。我们可以修改字符串,而无需创建字符串的新对象。

StringBuffer 是线程安全的,而 StringBuilder 不是线程安全的。因此,它比 StringBuffer 快。此外,字符串连接 + 运算符在内部使用 StringBuffer 或 StringBuilder 类。以下是区别。

序号 关键点 StringBuffer StringBuilder
1 基础 StringBuffer 是随着 Java 的初始版本引入的 它是在 Java 5 中引入的
2 同步 它是同步的 它不是同步的
3 性能 它是线程安全的。因此,多个线程无法同时访问它,因此速度较慢。 它不是线程安全的,因此比 StringBuffer 快。
4 可变性 它是可变的。我们可以修改字符串而无需创建对象。 它也是可变的
5 存储

StringBuilder 示例

public class StringBuilderExample{
   public static void main(String[] args){
      StringBuilder builder=new StringBuilder("Hi");
      builder.append("Java 8");
      System.out.println("StringBuilderExample" +builder);
   }
}

输出

StringBuilderExampleHiJava 8 

StringBuffer 示例

public class StringBufferExample{
   public static void main(String[] args){
      StringBuffer buffer=new StringBuffer("Hi");
      buffer.append("Java 8");
      System.out.println("StringBufferExample" +buffer);
   }
}

输出

StringBufferExampleHiJava 8 

更新于: 2023-12-05

13K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告