为了账号安全,请及时绑定邮箱和手机立即绑定

关于在endElement()方法里把book=null

Java不是有自己的垃圾回收机制吗?因为new Book()是在public 方法里定义,这样当调用结束之后Java会自己回收内存的呀,为什么要手动把book= null呢?这样是多此一举自我安慰吗还是有什么道理在里面,求解答

正在回答

3 回答

测试了一下,没有book=null运行也没错,不会产生author出错的情况。而且我查了一下java垃圾回收机制的情况,在循环每执行完一次,生成的Object对象都会成为可回收的对象。也就是说在第二次遍历book对象的时候前面那个已经自动被回收。至于老师为啥还要这样做估计只是把这个问题明显化,不让大家产生误会吧

0 回复 有任何疑惑可以回复我~
#1

IT界小嫩草一枚 提问者

跟我想的一样,让我确定了自己的想法,谢了
2016-06-26 回复 有任何疑惑可以回复我~

你这问题提的真好!

0 回复 有任何疑惑可以回复我~

第二本书author为空,如果不清空book对象,第二本书的作者会被认为是第一本书的作者乔治马丁

0 回复 有任何疑惑可以回复我~
#1

IT界小嫩草一枚 提问者

你说的有道理,但是我们在解析第二本书的时候startElement方法又重新构造了一个Book对象, characters方法里面的setAuthor不会是第一本书的作者的, 这两个对象没有什么联系,只是都是Book对象的引用,应该不需要清空book对象的
2016-04-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于在endElement()方法里把book=null

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号