Java中的字符串缓冲区和字符串生成器之间的区别

字符串缓冲区和StringBuilder都是可变类,可用于对字符串对象执行操作,例如字符串的反向,压缩字符串等。我们可以在不创建字符串新对象的情况下修改字符串。字符串缓冲区是线程安全的,而字符串生成器不是线程安全的。因此,它比字符串缓冲区快。另外,字符串concat +运算符在内部使用StringBuffer或StringBuilder类。以下是区别。

序号字符串缓冲区字符串生成器
1
基本

在 Java 的初始版本中引入了 StringBuffer

它是在Java 5中引入的
2
同步
它是同步的不同步 
3性能 

它是线程安全的。因此,多个线程不能同时访问,因此速度很慢。

它不是线程安全的,因此比字符串缓冲区快 
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);
   }
}

StringBuffer的示例

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