String StringBuffer StringBuilder区别

String这种多次赋值操作或者拼接字符串操作,会在内存中不停的开辟空间,容易造成内存空间的浪费。

而StringBuffer和StringBuilder当字符串不停修改时,一致使用同一个内存空间。

StringBuffer在多线程中线程安全。

StringBuilder在多线程中存在线程安全问题,但是在单线程中StringBuilder效率更高。

 

String StringBuffer StringBuilder区别

String StringBuffer StringBuilder区别

两者区别在于str1的字符串在常量池中,图一的str2新开辟一块内存空间,所以str1==str2为false

类似的:

String StringBuffer StringBuilder区别

String StringBuffer StringBuilder区别

经典题如下:

String StringBuffer StringBuilder区别

相关文章: