JAVA基础
1,String,StringBuffer,StringBuilder有什么区别
String | StringBuffer | StringBuilder |
---|---|---|
不可变 因为value是final,修改值他就会创建一个新的对象,旧的回收 | 可变的 其父类(AbstractStringBuilder) value的数组不是final,当修值直接修改,不会创建新的对象 | 可变的 其父类(AbstractStringBuilder)value的数组不是final,当修改值直接修改,不会创建新的对象 |
线程是安全 ,因为final修饰 | 线程安全 因为大部分主要方法,例如append(),insert(),delete(),replace()等方法都是synchronized;但是因为加了锁会导致变慢 | 线程不安全 单线程建议使用,因为没加锁,速度快 |