2017-06-07 140 views
-3

我似乎無法找到爲什麼我收到此錯誤消息。我以爲我已經在我的main中實例化了我的數組。空指針異常錯誤消息

線程 「main」 顯示java.lang.NullPointerException異常

public class A1ArrayList<E> { 
    private E[] e; 
    private int capacity = 0; 

    public A1ArrayList(){ 
    } 

    public int size(){ 
     return e.length; 
    } 


    public boolean add(E addElement){ 
     e[capacity] = addElement; 
     capacity = capacity + 1; 

     return true; 
    } 

    public static void main(String[] arg){ 
     A1ArrayList<Object> e = new A1ArrayList<Object>(); 
     e.size(); 

    } 
+2

多少事你認爲你有一個被稱爲'e'?提示,'private E [] e;'仍然是** null。 –

回答

-1

您的陣列e爲空。因此你會得到一個空指針異常。

0

你必須初始化你的數組。現在你有一個字段e,它有一個E數組的地方,但是這個字段沒有數組!所以,如果你嘗試e[capacity] = addElement;,你會嘗試添加一些東西,這就是爲什麼你會得到一個空指針。

在你的構造函數中,你可以用它來初始化數組。

public A1ArrayList(){ 
    E=new E[5]; 
} 

就像你有一個數組,可以存儲E的5個實例