String, StringBuffer, StringBuilder

  • String 是 final 的,每次操作都会产生新的 String
  • StringBuffer 和 StringBuilder 都是在原对象基础上操作
  • StringBuffer 线程安全(内部采用 synchronized 来实现),StringBuilder 线程不安全
  • 性能:StringBuilder > StringBuffer > String

优先使用 StringBuilder,多线程共享变量时使用 StringBuffer