String能变化吗?和StringBuffer的区别是什么?

看 过上面例子的童鞋一定会觉得很奇怪,s = s + s1.charAt(i); 马克-to-win, s不是老在变化吗?其实s = "";时,虚拟机会创建一个String对象,s = s + s1.charAt(i); 时,会创建一个新对象,而不是之前的s了,会导致新对象的生成,这样做次数少还没有太大的问题,如果次数多的话,很浪费空间。StringBuffer是 在同一个实例上做这些事,不用生成新对象。当做的次数多的话,会节省大量空间


。。。。。。。。。。。。。。。。。
详情请进:http://www.mark-to-win.com/JavaBeginner/JavaBeginner2_web.html#CanStringChange
阅读更多

没有更多推荐了,返回首页