从jdk1.5之后,Java提供了foreach用于遍历集合、数组等。一直以为foreach是可以判别null和空数组的,知道今天用foreach出现了空指针才打破我的这个想法。
对此还专门弄了测试
Listlist = null; for (String str : list) {//会报空指针异常 System.out.println(str); } List list = new ArrayList();//正常运行 for (String str : list) { System.out.println(str); }
以后写foreach也要进行非空判断了
Listlist = null; if (list != null){ for (String str : list) { System.out.println(str); } }
细节最重要,虽说这个问题很好排查,但是还是要严谨,无BUG是理想,谨记!!!



