好吧,這聽起來很瘋狂..東西非常非常,非常奇怪在下面的代碼正在發生的事情:新的運營商返回null
treeTable = new TreeTable();
System.out.println("table: " + treeTable);
if(treeTable == null) {
System.out.println("omg how ?!");
}
..和這裏是輸出:
table: null
就是這樣!這不是假的!
我該怎麼處理這件事?在調試器中,我看到null
的值在treeTable = new TreeTable();
之後立即分配給treeTable
。 即使陌生人是第二個println不執行... 我真的是非常糟糕,在Java中跛腳?這怎麼會發生?
在此先感謝
對於初學者,這甚至不編譯。任何人如何驗證你的瘋狂索賠?如果簡單插入到'main'方法中,可以確定'treeTable'不會是'null'。 – 2014-10-06 12:41:04
正如Marko所說,除非你有更多的代碼沒有顯示給我們,否則這將不會被編譯。你有沒有重寫toString方法,偶然返回null? – jervine10 2014-10-06 12:42:15
我99%確定jervine10已經用'toString'覆蓋了頭部。編寫重現此結果的代碼當然很容易。 – 2014-10-06 12:43:05