String、StringBuilder、StringBuffer之间的区别
String、StringBuilder、StringBuffer之间的区别
Stirng类内部维护了final属性的char数组,不可变且不能被继承,不能操作自身,如果操作自身的话,会创建一个新的String对象到常量缓冲区,将原来的引用指向新的String对象。
- 线程安全的。因为final修饰的char数组。
- 因为Map中的key常使用String类,String存放在常量缓冲区中,可以方便存取。
StringBuilder类维护了char数组,但是可以操作自身,效率较高,但是线程不安全。
StringBuffer类维护了char数组,类似StringBilder,不过每个方法都加上了synchronized,线程安全,但是效率比StringBuilder低。
效率StringBuilder -> StringBuffer-> String(由高到低)

浙公网安备 33010602011771号