在 Java 中,哪些情况下应使用 StringBuffer/StringBuilder 而不是 String?

javaobject oriented programmingprogramming

  • String 类对象是不可变的,而 StringBuffer 和 StringBuilder 对象是可变的。
  • StringBuffer 是同步的,而 StringBuilder 不是同步的。
  • 连接运算符"+"是使用 StringBuffer 或 StringBuilder 在内部实现的。
  • 如果 Object 值不会改变,请使用 String 类,因为 String 对象是不可变的。
  • 如果 Object 值可以改变并且只能从单个线程访问,请使用 StringBuilder,因为 StringBuilder 是不同步的。
  • 如果 Object 值可以改变并且将被多个线程修改,请使用 StringBuffer,因为 StringBuffer 是同步的。

相关文章