我有一个这样定义的“工作”类:
public class Job extends AbstractJob
{
private String name;
private String jobCount;
private String status;
private List<Job> children;
public Job(String name, String jobCount, String status, List<Job> children) {
this.name = name;
this.jobCount = jobCount;
this.status = status;
this.children = children;
}
public String getName()
{
return name;
}
public String getJobCount()
{
return jobCount;
}
public String getStatus()
{
return status;
}
public List<Job> getChildren() {
return children;
}
public void setName(String name) {
this.name = name;
}
public void setJobCount(String jobCount) {
this.jobCount = jobCount;
}
public void setStatus(String status) {
this.status = status;
}
public void setChildren(List<Job> children) {
this.children = children;
}
}
我想做的是能够检索工作列表中的所有元素,包括他们的孩子。这是我到目前为止所做的:
public List<Job> getJobChildren(Job job) {
List<Job> result = new ArrayList<Job>();
if (job == null) {
return new ArrayList<Job>();
}
List<Job> children = job.getChildren();
for (Job k : children) {
if (children != null && !children.isEmpty()) {
result.addAll(children);
getJobChildren(k);
} else {
result.add(k);
}
}
return result;
}
在主类中,我实例化并填充了 so 作业来测试它,但我得到了一个 nullpointerException:
Job job2 = new Job("JOB0002","0002","Finished",null);
Job job3 = new Job("JOB0003","0003","Error",jobSubList);
Job job4 = new Job("JOB0004","0004","En cours",null);
jobSubList.add(job4);
List<Job> jobList = new ArrayList<Job>();
jobList.add(job2);
jobList.add(job3);
Job job = new Job("JOB0001","0001","En Cours",jobList);
我知道为什么会出现异常,但我无法编辑该方法以使其返回所有孩子。
这个想法是检查所有的工作,看看他们是否也有自己的工作。如果他们这样做了,我会更深入地检索所有这些孩子,我会一直这样做,直到我检索到所有工作。
你能告诉我我在那个方法中做错了什么吗?
MM们
白板的微信
相关分类