String、StringBuffer和StringBuilder的区别
String、StringBuffer和StringBuilder的区别
可变与不可变
String是不可变字符串(字符数组用final关键字修饰
)
StringBuffer、StringBuilder是可变字符串
字符串修改
String每次字符串修改,都会生成一个新的String对象,然后将指针指向新的 String 对象。
StringBuffer和StringBuilder修改字符串使用append方法添加,insert插入,replace替换,delete删除。
是否实现equals和hashCode方法
String重写了equals和hashCode方法
StringBuffer和StringBuilder没有重写
是否线程安全
String和StringBuilder线程不安全
StringBuffer线程安全(方法用synchronized关键字修饰
)