0
我有一個Task
類和一個Dev
類。我正在爲開發人員分配任務,並記錄Dev中包含的ArrayList
中的每個開發人員分配了哪些任務。這是我在Task
方法來分配特定任務的具體開發,與它下面的任務建構:包含我構建的對象的ArrayList將其打印爲null
public void setAssignedDev(Dev dev){
this.assignedDev=dev;
dev.addToTasksAssigned(this);
}
public Task(String newProject,String newDescription, float newEarliestStartTime,float newDuration,float newLatestFinishTime,boolean newIsTaskReferenced,ArrayList<Dev> newListDevs){
project=newProject;
description=newDescription;
earliestStartTime=newEarliestStartTime;
duration=newDuration;
latestFinishTime=newLatestFinishTime;
isTaskReferenced=newIsTaskReferenced;
newListDevs=new ArrayList<Dev>();
};
的setAssignedDev()
方法觸發Dev
的ArrayList<Task>
登錄任務,然後列表排序:
public Dev(String newName){
name=newName;
tasksAssigned=new ArrayList<Task>();
}
public void addToTasksAssigned(Task task){
this.tasksAssigned.add(task);
//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;}
}
});
爲了測試這個我已初始化類的一些實例,然後打印在tasksAssigned
ArrayList
。主要方法如下:
Dev chris=new Dev("Chris");
Dev dave=new Dev("Dave");
Task task1=new Task("LCN","",3f,1f,5f,false, new ArrayList<Dev>(Arrays.asList(chris,dave)));
task1.setAllottedStartTime(3.5f);
Task task2=new Task("Project","",0f,3.5f,6f,false,new ArrayList<Dev>(Arrays.asList(chris)));
task2.setAllottedStartTime(0f);
task1.setAssignedDev(chris);
task2.setAssignedDev(chris);
System.out.println(chris.getTasksAssigned());
現在,當我運行這個系統打印出:被添加[[Task-null], [Task-null]]
任務,但返回時,他們他們是空?我期待看到[task1,task2]
,我誤解了什麼? 感謝
編輯包括開發構造以及
你也可以顯示'getTasksAssigned()'方法的代碼嗎? –
它只是返回數組列表: 'public ArrayList getTasksAssigned(){ return tasksAssigned; }' –
user3441584