【问题标题】:java.lang.NullPointerexception in javajava中的java.lang.NullPointerexception
【发布时间】:2015-03-16 16:59:03
【问题描述】:

当我在第二个 for 循环中使用 subject.getSubjectHasProgram() 设置接口时,我得到了 NullPointerException。但是 subject.getSubjectHasProgram().size() 显示等于 2 这是我想要的真实..!!

   Set<Subject> sub=(Set<Subject>)this.teacher.getSubjects();
   for (Iterator<Subject> iterator = sub.iterator(); iterator.hasNext();) {
       Subject next = (Subject)iterator.next();
       if(next.getID()==this.ID){
           this.Name=next.getName();
           System.out.println("Subject Name="+this.Name);
           this.CourseCode=next.getCourseCode();
           this.CreditHour=next.getCreditHour();
           **System.out.println("programscount="+next.getSubjectHasPrograms().size());**
            for (Iterator iterator2 = next.getSubjectHasPrograms().iterator(); iterator2.hasNext();){
                ProgramHasSubject programHasSubject = (ProgramHasSubject) iterator2.next();
                this.selectedPrograms.add(programHasSubject.getProgram_ID());
                System.out.println("Program ID : " + programHasSubject.getProgram_ID().getID());
                System.out.println("Program Name : " + programHasSubject.getProgram_ID().getName());
                System.out.println("Semester : " + programHasSubject.getSemester_ID());
            }
           break;
       }

   }

【问题讨论】:

标签: java error-handling exception-handling nullpointerexception


【解决方案1】:

在 for 循环中实际上有两个语句。

Iterator iterator2 = next.getSubjectHasPrograms().iterator();
and
iterator2.hasNext();

您是否确认next.getSubjectHasPrograms().iterator(); 不返回null

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 2013-11-21
    相关资源
    最近更新 更多