java foreach的一个细节问题,遍历出现的空指针异常

从jdk1.5之后,Java提供了foreach用于遍历集合、数组等。一直以为foreach是可以判别null和空数组的,知道今天用foreach出现了空指针才打破我的这个想法。

对此还专门弄了测试

List<String> list = null;
for (String str : list) {//会报空指针异常
      System.out.println(str);
}
 
List<String> list = new ArrayList();//正常运行
for (String str : list) {
      System.out.println(str);
}

以后写foreach也要进行非空判断了

List<String> list = null;
if (list != null){
	for (String str : list) {
	      System.out.println(str);
	}
}

细节最重要,虽说这个问题很好排查,但是还是要严谨,无BUG是理想,谨记!!!


版权声明:本文为baobei0921原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。