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); } }