qq_38080430
ClownsAndTears
2017-05-02 02:45

空指针异常,点过去看了一下居然指向大括号“}”???

  • 指针
  • 异常

遇到很诡异的问题。

报错:

 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过项目重新部署过,没有用。这些代码之前也没改过,一直以来都是这样。也不知道什么原因就执行不了了。

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答

为你推荐

换一换