简体   繁体   English

java中的java.lang.NullPointerException

[英]java.lang.NullPointerexception in java

I'm getting NullPointerException when I get set interface using subject.getSubjectHasProgram() in 2nd for loop. 当我在第二个for循环中使用subject.getSubjectHasProgram()获得设置接口时,出现NullPointerException异常。 but subject.getSubjectHasProgram().size() show equall to 2 which is true what i want..!! 但是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;
       }

   }

In the for loop you actually have two statements. 在for循环中,您实际上有两个语句。

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

Have you verified that next.getSubjectHasPrograms().iterator(); 您是否已验证next.getSubjectHasPrograms().iterator(); does not return a null ? 不返回null吗?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM