相同点:底层都是通过char数组实现的。
StringBuffer与StringBuilder中的方法和功能完全是等价的。
不同点:
只是StringBuffer中的方法大都采用了 synchronized 关键字进行修饰,因此是线程安全的,而StringBuilder没有这个修饰,可以被认为是线程不安全的。
在单线程程序下,StringBuilder效率更快,因为它不需要加锁,不具备多线程安全而StringBuffer则每次都需要判断锁,效率相对更低
普通的string对象创建,对其进行操作,会开辟新的存储空间,而不是在原地址上进行修改,但是Stringbuilder和String Buffer方法是可以在原地址上进行修改的。