String、StringBuffer、StringBuilder

181 阅读1分钟

String 是final修饰的, 不可变 每次操作都会产生新的String对象
StringBuffer是StringBuilder都是源对象上操作的
StringBuffer是线程安全的、StringBuilder是线程不安全的
StringBuffer方法都是synchronized修饰的

StringBuffer 局部源码 image.png

性能: StringBuilder > StringBuffer >String

场景:

字符串需要频繁修改使用StringBuffer/StringBuilder
多线程使用共享变量时使用StringBuffer