Java中是使用增强for的null问题

Posted cuianbing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中是使用增强for的null问题相关的知识,希望对你有一定的参考价值。

在使用List和Map等集合时,我们经常会使用增强for来进行遍历。但是这里面会存在一些问题。比如当你进行数据库查询是,得到的返回结果是List集合时,如果没有查询到符合要求的数据时List集合时null,并不是有对象而size为0的集合,这个时候就要对返回的结果进行空指针判断,不为null的时候才能遍历,否则回报空指针异常。

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);

  1. 增强型for循环不支持遍历时修改
  2. list为null时会报空指针异常;list为长度为0的空集合却不会。所以每次使用for循环的时候要注意空值的判断
  3. 使用增强型for循环时,对遍历的集合需要做null判断,不然可能引发空指针异常。

以上是关于Java中是使用增强for的null问题的主要内容,如果未能解决你的问题,请参考以下文章

java 16 - 9 增强for的概述和使用

增强的 for 循环中的空值检查

java中的增强for循环,是啥?语法结构和使用得条件?详细解答就加高分。

增强的 for 循环不适用于将值分配给数组(Java)[重复]

Java基础_JDK5常用特性

java中使用增强型的for循环有啥好处?