旺旺老师的教学电子书,《旺旺老师JavaSE教程》。理想目标是: 让新手当技术类书籍来学习它,让老手当消遣类散文来阅读它。想让所有人,在快乐中学习,在快乐中成长,在快乐中工作。
主题:旺旺老师软件工程师实训教程--JAVASE 第六章:包与JAVA常用类
这里当msg的数值发生改变时,JVM每次都会给msg分配一块新的内存空间,那最后上面的35DF到37DF就会变为垃圾内存等待回收造成浪费,并且在堆中分配收集内存是很占系统资源的,所以这样的写法虽然不会报错,但显然不是理想的,Java中为我们提供了StringBuffer类解决这个问题。如:
StringBuffer msg = new StringBuffer(“犀利哥与”);
if(凤姐在)
msg.append(”凤姐”);
if(芙蓉姐姐在)
msg.append(”芙蓉姐姐”);
msg.append(“去春游”);
System.out.println(msg.toString());
上面当创建StringBuffer对象时系统默认分配一定长度的内存,使用append方法往其中放入字符串,如果放入的字符串超出内存的范围,那么它会自动在其后追加一倍长度的内存,这样前面的内存就可以继续使用,没有浪费。最后使用toString()方法转化为字符串。上例中其实不用调用toString()方法,因为当打印一个对象时,将自动调用它的toString()方法。
还有除去StringBuffer类jdk1.5开始还提供了一个StringBuilder类,它们之间的区别类的方法是同步的,也就是线程安全的,而StringBuilder是线程非安全的,但效率较高,这个我们后期在讲解线程知识的时候在详细说明。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库06包与Java常用类_旺旺老师JavaSE(测试版后期会更新)(17)在线全文阅读。
相关推荐: