嘗試在JAVA中連接兩個鏈接列表時,我遇到了NullPointExceptions問題。連接2個鏈接列表 - Java
主來測試它的代碼是:
d1 = new MyDeque();
d2 = new MyDeque();
d2.pushLeft (11);
d1.concat (d2);
雖然對concat函數的代碼是:
public void concat (MyDeque that) {
if (!that.isEmpty())
{
this.last.next = that.first;
this.N += that.N;
that.first = null;
that.last = null;
that.N = 0;
}
}
,我不明白的部分是它的標誌NullPointerException異常。 「d2」或那個不是空的,而「d1」是,這種類型讓我明白會有一個空值「d1」,指向「d2」中的第一個值,也就是11。 last.next = that.first。如果「d1」也是空的,我應該做出另一種不同的處理方式嗎?
會發生什麼,如果第一個列表是空的:) – nmore 2014-10-19 02:20:09
我很困惑。我假定一個鏈表將通過將其他列表添加到其自身的末尾來連接,更新其大小計數並將其尾指針移動到其他尾指針當前指向的相同位置。你正在做三個中的兩個;你爲什麼要獲得NPE? **你在哪裏獲得NPE? – Makoto 2014-10-19 02:20:58
@nmore this.last = that.first? – user2909869 2014-10-19 02:21:13