Java 将对象从另一个类添加到ArrayList
大家好,我正在尝试从另一个类向ArrayList添加对象,但我有一个java.lang.NullPointerException。这是我的密码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
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;
}
}