参考:
https://blog.csdn.net/kingzone_2008/article/details/9220691
https://blog.csdn.net/itchuxuezhe_yang/article/details/89966303
String 常量字符串,每次修改都是会新创建一个字符串,当要频繁修改字符串的时候不建议使用 String
StringBuilder 和 StringBuffer 可变的字符串
StringBuilder 效率比较高,不是线程安全的,多线程时会有问题。
StringBuffer 是线程安全的,效率比较低,适合多线程,底层所有的公共方法都使用了 synchronized 保证同步,所有效率比低。
技术选型:
大多数业务场景中,不变的字符串适合 使用 String
可变的单线程大量字符串使用 StringBuilder (小型项目,大多数场景下不太确定是否多线程时还是建议使用StringBuffer)
多线程场景下使用 StringBuffer。