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

来源:3-4 使用 SAX 解析将 XML 的内容和结构存入 JAVA 对象

IT界小嫩草一枚

2016-04-25 00:16

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

写回答 关注

3回答

  • 圊涩的苹果
    2016-06-17 15:46:59
    已采纳

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

    IT界小嫩草...

    跟我想的一样,让我确定了自己的想法,谢了

    2016-06-26 21:58:42

    共 1 条回复 >

  • wshyzx
    2016-08-17 23:00:38

    你这问题提的真好!

    共 1 条回复 >

  • zzhzzh2
    2016-04-25 09:48:11

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

    IT界小嫩草...

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

    2016-04-25 23:46:32

    共 1 条回复 >

Java眼中的XML---文件读取

通过Java认识并且创造XML文件,如何应用 Java“解析 XML

83200 学习 · 445 问题

查看课程

相似问题