相同点
1、我们所熟知的string在对一个字符串进行修改的时候,会在内存中创建一个新的字符串,并把该字符串的地址传给对象,因此比较浪费空间;string builder和string buffer则在开始的时候创建一个容器,当修改时会修改容器中的内容,而不是去创建一个新的容器,所以如果需要对一个字符串频繁修改时,尽量使用string builder和stringbuffer,少使用string。
2、stringbuilder和stringbuffer的方法基本上相同
不同点
1、stringbuffer的很多方法例如append、delete、replace、length都在其前面使用了synchronized关键字来保证线程安全。这一点string builder没有。
2、string builder线程不安全但是效率高,string buffer的安全程度较低