Java中的字符串缓冲区和字符串生成器之间的区别
字符串缓冲区和StringBuilder都是可变类,可用于对字符串对象执行操作,例如字符串的反向,压缩字符串等。我们可以在不创建字符串新对象的情况下修改字符串。字符串缓冲区是线程安全的,而字符串生成器不是线程安全的。因此,它比字符串缓冲区快。另外,字符串concat+运算符在内部使用StringBuffer或StringBuilder类。以下是区别。
在Java的初始版本中引入了StringBuffer
它是线程安全的。因此,多个线程不能同时访问,因此速度很慢。
它是可变的。我们可以修改字符串而不创建对象
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);
}
}