1-区别
- StringBuilder 和 StringBuffer 非常类似,均代表可变的字符序列,而且方法也一样
- String 不可变字符序列,效率低,但是重复率高
- StringBuffer 可变字符序列,效率较高(增删)、线程安全
- StringBuilder 可变字符序列、效率最高、但线程不安全
2-选择
- 如果字符串存在大量的修改操作,一般使用 StringBuffer 或者 StringBuilder
- 如果字符串存在大量的修改操作,并在单线程的情况下,使用 StringBuilder
- 如果字符串存在大量的修改操作,并在多线程的情况下,使用 StringBuffer
- 如果字符串很少修改,被多个对象引用,使用 String,比如配置信息等
注
StringBuilder 的方法使用与 StringBuffer 一样