问答详情
源自:3-4 使用 SAX 解析将 XML 的内容和结构存入 JAVA 对象

endElement中

bookList.add(book);

之后的一句book = null;有什么用    不管你是不是置空下一次的startElement还是会new Book啊即使同名都为book但还是两个不同的对象啊,所以问一下这个book = null;是用来干嘛啊

提问者:街边七号 2017-11-18 09:48

个回答

  • 慕粉4262062
    2017-11-23 21:32:01
    已采纳

    而且每轮用完全局变量后,取null,可以减少内存消耗

  • 慕粉4262062
    2017-11-23 21:14:28

    初始时,book为局部变量,每次startElement时都需new book创建,所以值都为null;

    后需要遍历data set时需要调用book,需要将book变更为全局变量,而全局变量一轮用完后需清空,防止data残留,故需加book=null;

    每次Start都有新建book,默认值都为null,与清空book同效,所以感觉没啥用吧,其实全局变量一轮用完后,为防止对下一轮使用有影响,通常都初始设定,此处是null,说不定其他位置可能是数值呢。

  • 慕粉4262062
    2017-11-18 11:02:12

    因为book是全局变量,不添加的话,下一次调用就先有值了