赞
踩
从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是理想,谨记!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。