Java 向空arraylist添加类实例时遇到问题

Java 向空arraylist添加类实例时遇到问题,java,class,arraylist,Java,Class,Arraylist,所以我有一个任务类和一个开发类。我将任务分配给开发人员,并在开发人员中包含的ArrayList中记录分配给每个开发人员的任务。这是我在Task中的方法,将特定任务分配给特定开发人员: public void setAssignedDev(Dev dev){ this.assignedDev=dev; dev.addToTasksAssigned(this); //I get a null pointer exception on this line

所以我有一个
任务
类和一个
开发
类。我将任务分配给开发人员,并在开发人员中包含的
ArrayList
中记录分配给每个开发人员的任务。这是我在
Task
中的方法,将特定任务分配给特定开发人员:

public void setAssignedDev(Dev dev){
        this.assignedDev=dev;       
        dev.addToTasksAssigned(this);  //I get a null pointer exception on this line   

    }
从而触发
Dev
中的
ArrayList
来记录任务:

public void addToTasksAssigned(Task task){              
    this.tasksAssigned.add(task);    //another null pointer exception here
    //sort list by allotted start time
    Collections.sort(tasksAssigned, new Comparator<Task>(){            
        @Override
        public int compare(Task t1, Task t2){
          if(t2.getAllottedStartTime()>t1.getAllottedStartTime()){return +1;}
          if(t2.getAllottedStartTime()<t1.getAllottedStartTime()){return -1;}
          else {return 0;}
    }
    });
public void addToTasksAssigned(任务){
this.tasksAssigned.add(task);//此处存在另一个空指针异常
//按分配的开始时间对列表排序
Collections.sort(tasksAssigned,new Comparator(){
@凌驾
公共整数比较(任务t1、任务t2){
if(t2.getAllottedStartTime()>t1.getAllottedStartTime()){return+1;}

如果(t2.getAllocatedStartTime()在
Dev
类中,您需要为每个Dev创建任务的数组列表。然后在
Dev
类的构造函数中,您可以创建列表的实例

public class Dev {
    private List<Task> tasksAssigned;

    public Dev() {
        tasksAssigned = new ArrayList<Task>();
    }

    //...
}

tasksAssigned
为空或null?您是否初始化了
tasksAssigned
?Integer.compare(t1.getAllocatedStartTime(),t2.getAllocatedStartTime())有什么问题吗?谢谢这个汤加-我编辑了我的原始问题,因为您的第一个提示有效。当我打印arrayList时,仍然得到空值(请参见编辑),对吗?
public class Dev {
    private List<Task> tasksAssigned;

    public Dev() {
        tasksAssigned = new ArrayList<Task>();
    }

    //...
}
public class Task {
    private Dev assignedDev;

    public Task(String taskName, String another, float a, float b, float c, boolean d) {
        //......
    }

    public void setAssignedDev(Dev dev){
        this.assignedDev=dev;       
        dev.addToTasksAssigned(this);
    }
}