java - 有人可以解释为什么 forEach 循环中的分配对象在退出 forEach 循环时变为 null 吗?
问题描述
当我将一个对象分配给 foreach 循环中的现有对象时,它存在,但是当它退出循环时,它突然变为 null 并引发 nullpointerexception
Project project = new Project();
for (Project prjct: pps.getProjects()) {
if (prjct.getCode().equals(projectCode)) {
project = prjct;
System.out.println("First occurrence : " + project.toString()); //The object is present here
} else if (!prjct.getCode().equals(projectCode)) {
project = null;
}
System.out.println("Second occurrence : " + project.toString()); //Object is also present here
}
System.out.println("Third occurrence : " + project.toString()); //Throws NullPointerException
解决方案
没关系,我发现了问题.. 在我的 forEach 循环在 if 语句中找到正确的对象后,我应该使用中断。不知道这是可能的..我会把这个留给需要的人
推荐阅读
- python - 为 Plotly 不工作创建 choropleth 函数
- c - 如何在 X% 的时间内从传入的随机数流中进行选择?
- java - 在 Java LocalDateTime 中获取时差并将其转换为字符串格式
- javascript - Firebase 推送到实时数据库不起作用
- react-native - React Native 的弯曲底部导航栏
- javascript - 更改路线后反应降价代码突出显示不起作用
- regex - Bash 正则表达式被视为字符串而不是正则表达式
- javascript - 使用 useEffect 挂钩重定向
- javascript - Onclick Javascript 警报,然后重定向到新窗口
- email - 如何自动将电子邮件上传到共享点文档库?