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关键字修饰

posted @ 2020-08-18 21:25  jealous-boy  阅读(132)  评论(0编辑  收藏  举报