Java中是使用增强for的null问题
程序员文章站
2023-11-03 14:25:03
在使用List和Map等集合时,我们经常会使用增强for来进行遍历。但是这里面会存在一些问题。比如当你进行数据库查询是,得到的返回结果是List集合时,如果没有查询到符合要求的数据时List集合时null,并不是有对象而size为0的集合,这个时候就要对返回的结果进行空指针判断,不为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); }
- 增强型for循环不支持遍历时修改
- list为null时会报空指针异常;list为长度为0的空集合却不会。所以每次使用for循环的时候要注意空值的判断。
- 使用增强型for循环时,对遍历的集合需要做null判断,不然可能引发空指针异常。
推荐阅读
-
Java中是使用增强for的null问题
-
使用java8中的Optional API解决nullPointException问题
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
eclipse Java web项目数据库由oracle更改为mysql中遇到的问题(使用JPA注解)附上修改过程
-
OY!原来是JAVA的BUG呀~~~在SwingWorker中嵌套调用SwingWorker的死锁问题解决方法。
-
Java学习,使用IDEA中碰见的问题(一)
-
java中for循环、增强for循环、迭代器的删除操作使用注意(以Arraylist为例)
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
Java中是使用增强for的null问题
-
JDK8 Java 中遇到null 和为空的情况,使用Optional来解决。