我试图用学生列表填充出勤类型列表,但是即使学生列表不为空但出勤率为空,我仍会收到空指针异常,广告出勤率具有如下学生属性
答案 0 :(得分:0)
您的循环正确,但逻辑上不正确。试试这个,谢谢我。
for (int i = 0; i < listOfStudents.size(); i++) {
Learner temp = listOfStudents.get(i);
for (int j = 0; j < finalList.size(); j++) {
finalList.get(j).setstudent(temp);
}
}
答案 1 :(得分:0)
假设您的listOfStudents
大小为10,finalList
大小为5。
因此,当第一次进行第一次循环时,temp
被设置为listOfStudents
的第一个元素。
现在,您的秒循环必须从0到等于10的listOfStudents.size()
。因此,对于j = 5
,您想执行finalList.get(5).setstudent(temp);
,但是! finalList
只有5个项目,因此在调用get(5)
及更高版本时,您会收到NullPointerException,因为列表的大小仅为5。