Java String、StringBuffer 和 StringBuilder 有什么区别?

1 答案

Java StringStringBufferStringBuilder 的区别如下:

  • String:不可变字符串,每次操作都会生成新的String对象;效率低;适合操作少量数据场景。
  • StringBuffer:可变字符串;效率低;线程安全;适合多线程操作大数据量字符串缓冲区场景。
  • StringBuilder:可变字符序列;效率高;线程不安全。适合单线程操作大数据量字符串缓冲区场景。

另外,String可以赋值为null,其他两个不可以,必须是通过new创建新对象。

String s = null;
StringBuffer s = new StringBuffer();
StringBuilder s = new StringBuilder();
xiaobai xiaobai 6 月前 点赞 0