2017-06-07 117 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个实例