String 与 StringBuffer 区别
String: | String 是不可变对象,在进行 String 的相关操作的时候会产生许多临时的String对象。一般做为简单的字符串传递和其它操作,只不要改变字符串内容的操作,用 String 效率会高一些 |
StringBuffer : | StringBuffer适合用于经常改变的变量,对内存的消耗小,支持修改字符串(缓存)的值 |
相同点:都可以储存和操作字符串
比喻(不喜勿喷):
数钱
StringBuffer:数第1张时,脑子里计数:1
数第2张时,脑子里计数:2 (脑子里再没 1 了)
数第3张时,脑子里计数:3 (脑子里再没 2 了)
.
.
.
数到第n张时,脑子里最后只有结果: n
String:数第1张时,本子里计数:1
数第2张时,本子里计数:2 (本子里还有 1 )
数第3张时,本子里计数:3 (本子里还有 2)
.
.
.
数到第n张时,本子里有一大堆数包括结果: n
当然如果有一串不会改变的电话号码,相信你会选择把它记着本子里。