Java 空指针异常错误消息

Java 空指针异常错误消息,java,nullpointerexception,Java,Nullpointerexception,我似乎无法找到为什么会收到此错误消息。我想我已经在main中实例化了我的数组 线程“main”java.lang.NullPointerException中出现异常 public class A1ArrayList<E> { private E[] e; private int capacity = 0; public A1ArrayList(){ } public int size(){ return e.length;

我似乎无法找到为什么会收到此错误消息。我想我已经在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();

    }
公共类A1ArrayList{
私人E[]E;
专用int容量=0;
公共数组列表(){
}
公共整数大小(){
返回e.length;
}
公共布尔加法(E加法){
e[容量]=加法;
容量=容量+1;
返回true;
}
公共静态void main(字符串[]arg){
A1ArrayList e=新的A1ArrayList();
e、 大小();
}

你的数组e是空的。因此你会得到一个空指针异常。

你必须初始化你的数组。现在你有一个字段
e
,它可以放置一个数组e。但是这个字段中没有数组!所以如果你尝试
e[容量]=addElement;
您将尝试向nothing添加一些内容,这就是为什么会得到空指针

在构造函数中,可以使用它初始化数组

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

就像你有一个数组,可以存储5个E实例。

你认为你有多少东西被称为
E
?提示,
private[]E;
仍然是
null