遇到很诡异的问题。
报错:
java.lang.NullPointerException
at com.ison.service.DownloadService.saveDownloadResume(DownloadService.java:236)
找到代码:
if (src.getEducation() != null) {
List<DownloadEducation> toList = new ArrayList<>();
for (ResumeEducationBean from : src.getEducation()) {
DownloadEducation to = new DownloadEducation();
BeanUtils.copyProperties(from, to);
to.setUserId(bean);
toList.add(to);
}
bean.setEducation(toList);
}
if (src.getProjectExp() != null) {
List<DownloadProjectExp> toList = new ArrayList<>();
for (ResumeProjectExpBean from : src.getProjectExp()) {
DownloadProjectExp to = new DownloadProjectExp();
BeanUtils.copyProperties(from, to);
to.setUserId(bean);
toList.add(to);
}
bean.setProjectExp(toList);
}
接下来,重点来了。[敲黑板]问题出在后面的那个if里。
当我判断完ProjectExp是不为空的,所以进到if里。再然后,居然很诡异的跳到bean.setEducation(toList);下一行的“}”上,然后下一步直接跳过 List toList = new ArrayList<>(); 去执行for循环。循环里也直接跳过toList.add(to);
这就尴尬了,相当于我的toList根本没有创建,根本不存在。然后执行bean.setProjectExp(toList);的时候,由于toList不存在的原因,导致了空指针。
我已经clean过项目重新部署过,没有用。这些代码之前也没改过,一直以来都是这样。也不知道什么原因就执行不了了。