2016-12-08 110 views
-1

我試圖在IntelliJ Idea中編寫此代碼,但它不允許我編譯。錯誤日誌:無法訪問Stack.Node。 但是,如果我使用Windows cmd編譯它,代碼將被編譯。 ItelliJ有什麼問題?Intellij無法訪問

public class Stack { 

    private Node first ; 

    private class Node { 
     private String item ; 
     private Node next ; 
    } 

    public void push(String item) { 
     Node second = first ; 
     first.item = item ; 
     first.next = second ; 
    } 
} 

IntelliJ screen-shot

+0

我不知道爲什麼IntelliJ不會編譯這個。而且我沒有自己的IntelliJ副本來試用它。但是,要使這段代碼正常工作,您需要在第11行和第12行之間添加'first = new Node();否則在第一次調用'push'時會得到空指針異常。 –

+0

將鼠標移動到錯誤位置並閱讀說明 –

回答

0

我測試你的代碼,並沒有錯誤,它只是在編譯我的版本的IntelliJ(最近的社區版+ 8的Java版本)的。你正在使用哪個版本?我的猜測是,這只是一個暫時的錯誤。

正如David Wallace所說,您將在調用push()時獲得NullPointerExeption。