Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将对象从另一个类添加到ArrayList_Java_Arraylist_Nullpointerexception - Fatal编程技术网

Java 将对象从另一个类添加到ArrayList

Java 将对象从另一个类添加到ArrayList,java,arraylist,nullpointerexception,Java,Arraylist,Nullpointerexception,大家好,我正在尝试从另一个类向ArrayList添加对象,但我有一个java.lang.NullPointerException。这是我的密码 public class MLD { private ArrayList<Entity> entityList; public MLD() { this.entityList = entityList; } public ArrayList<Entity> getEntityLi

大家好,我正在尝试从另一个类向ArrayList添加对象,但我有一个java.lang.NullPointerException。这是我的密码

public class MLD {

    private ArrayList<Entity> entityList;

    public MLD() {
        this.entityList = entityList;
    }
    public ArrayList<Entity> getEntityList() {
        return entityList;
    }
    public void setEntityList(ArrayList<Entity> entityList) {
        this.entityList = entityList;
    }
    
}
    
我主要是这样测试的:

MLDManaging m = new MLDManaging();
MLD mld =new MLD();
Entity e1 = new Entity("Entity 1", list1);
m.adde(e1);
m.addEntity(e1);

提前感谢您

您需要在构造函数
this.entityList=new ArrayList()中初始化列表如下所示

public class MLD {

    private ArrayList<Entity> entityList;

    public MLD() {
        this.entityList = new ArrayList<>();
    }
    public ArrayList<Entity> getEntityList() {
        return entityList;
    }
    public void setEntityList(ArrayList<Entity> entityList) {
        this.entityList = entityList;
    }
    
}
公共类MLD{
私有ArrayList实体列表;
公共MLD(){
this.entityList=新的ArrayList();
}
公共ArrayList getEntityList(){
返回实体列表;
}
公共void setEntityList(ArrayList entityList){
this.entityList=entityList;
}
}

您尚未在
MLD
类中初始化列表

更好的方法是创建一个单独的方法添加到列表中,而不是调用
getter
方法,然后调用
add
(这不是干净的代码方法)

公共类MLD{
私有ArrayList实体列表;
公共ArrayList getEntityList(){
返回实体列表;
}
公共无效附加值(实体){
if(entityList==null){
//列表将仅在需要时初始化。
//这将有助于减少不必要的内存使用。
entityList=新的ArrayList();
}
entityList.add(实体);
}    
}
注意:我不知道为什么要创建
MLDManaging
类。但是,如果只是将实体添加到
MLD
对象的列表中,那么我建议删除
MLDManaging

public class MLD {

    private ArrayList<Entity> entityList;

    public MLD() {
        this.entityList = new ArrayList<>();
    }
    public ArrayList<Entity> getEntityList() {
        return entityList;
    }
    public void setEntityList(ArrayList<Entity> entityList) {
        this.entityList = entityList;
    }
    
}