ClownsAndTears 2017-05-02 02:45 采纳率: 50%
浏览 986

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

遇到很诡异的问题。

报错:

 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条回答

  • devmiao 2017-05-02 02:53
    关注
    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?