亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

endElement中

bookList.add(book);

之后的一句book = null;有什么用? ? 不管你是不是置空下一次的startElement還是會new Book啊即使同名都為book但還是兩個不同的對象啊,所以問一下這個book = null;是用來干嘛啊

正在回答

3 回答

而且每輪用完全局變量后,取null,可以減少內存消耗

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

街邊七號 提問者

非常感謝!
2017-11-23 回復 有任何疑惑可以回復我~

初始時,book為局部變量,每次startElement時都需new book創建,所以值都為null;

后需要遍歷data set時需要調用book,需要將book變更為全局變量,而全局變量一輪用完后需清空,防止data殘留,故需加book=null;

每次Start都有新建book,默認值都為null,與清空book同效,所以感覺沒啥用吧,其實全局變量一輪用完后,為防止對下一輪使用有影響,通常都初始設定,此處是null,說不定其他位置可能是數值呢。

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

因為book是全局變量,不添加的話,下一次調用就先有值了

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

街邊七號 提問者

全局變量中Book book = null 每次進入startElement之后判斷qName是book就會book = new Book(); 在endElement中判斷qName是book就會將當前的Book對象存進ArrayList 下次遍歷第二本書的節點的時候book = new Book();會把原來的覆蓋掉啊 而且我試著不加那句book = null;也完全沒有什么異樣啊 求解===
2017-11-18 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

endElement中

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號