今天写代码的时候,需要遍历一个作为参数传递进来的容器,

当时顺手就加上了判空条件:

if(null==list)return;

后来就像,不知道遍历(foreach)有没有帮我做这个工作:

下面看实验结果:

public static voidmain(String[] args) {

List list =null;for(String s:list){

System.out.println(s);

}

}

运行时报空指针错误:

Exception in thread "main"java.lang.NullPointerException

at Test.main(Test.java:37)

说明在进行foreach遍历的时候,需要判空的。

下面看看foreach到底是怎么实现的:

foreach是在jdk 1.5版本后推出更优雅的遍历写法:

jdk1.5之前:

遍历数组:

1 for (int i=0;i

3 }

遍历容器:

while(list.iterator().hasNext()){//do something

}

jdk1.5之后:

for(String s:list){//do something

}

代码看起来优雅了许多。

那foreach是一个新的东西么?相对于以前的的for循环来说,到底哪个效率要高

java for each 空的_使用foreach需要判空。相关推荐

  1. sql动态拼接<if>标签嵌套<foreach>判空、if失效等问题

    问题描述:在sql语句中使用<if>标签和<foreach>标签动态拼接,如下图: 由于已经使用双引号将<if>包起来了,在<if>标签中判断空字符串时 ...

  2. python 空矩阵_在NumPy中创建空数组/矩阵的方法

    如何在NumPy中创建空数组/矩阵? 在添加行的情况下,你最好的选择是创建一个与数据集最终一样大的数组,然后向它添加数据 row-by-row: >>> import numpy & ...

  3. java实体类及类属性判空

    敲代码时判空是必须的,这里分享一下java实体类及类属性判空体会. 一.实体类判空: 1.1实体类判空 如果是读库返回实体类,我们直接判空即可,如下图 1.2如果是先定义了类就不能这样判空了,因为ne ...

  4. Java 判空工具方法大全

    java 判空工具方法大全 前言 一.一般类型的判空 1.String 类型判空 2.包装类型判空 二.类对象判空 1.类对象判空 三.容器类型判空 1.List.Set 判空 2.Map 判空 前言 ...

  5. 队列判空_数据结构与算法——队列的C语言实现

    本人原创,有问题请评论,楼主会随时回来查看修改滴~ 觉得有用请点个赞哦~~ 1.顺序队 /** 2020.04:queue 顺序结构-循环队列 判空 判满 求长度 入队 出队 获取队头 获取队尾 */ ...

  6. JDK8:使用Optional进行变量判空、集合遍历

    防止 NPE,是程序员的基本修养. NPE(Null Pointer Exception)一直是我们最头疼的问题,也是最容易忽视的地方.NPE常是导致Java应用程序失败的最常见的原因.在日常研发工作 ...

  7. 单链表——单链表的定义及基本操作(初始化、头插法尾插法建表、查找、插入、删除、判空等)

    文章目录 单链表的定义 单链表上的操作 初始化 建立单链表 头插法建立单链表 尾插法建立单链表 遍历单链表 求单链表的长度 查找操作 按值查找 按位查找 插入操作 删除操作 判空操作 完整代码及实例 ...

  8. 如何判断map为空_在Java中如何优雅地判空

    来自:李良逸 链接:http://blog.imuxuan.com/archives/86 判空灾难 作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢 NullPo ...

  9. java list 去空字符串_【JAVA基础】list和字符串判空

    前言: 我们在项目中经常需要对获取的list集合或String类型变量判空,看前辈的代码,不同的人判空的方法不一样,那么,Java代码中,对list集合和String类型变量到底该如何判空呢? 一.J ...

最新文章

  1. matlab去雾算法论文,基于matlab的图像去雾算法详细讲解与实现-附matlab实现源代码.doc...
  2. HTML5 Canvas简简单单实现手机九宫格手势密码解锁
  3. vue动态获取元素距离页面顶部的高度_VUE如何实时监听元素距离顶部高度
  4. 推论统计学基础一:Estimation
  5. jquery attr()和prop()方法的区别
  6. 一个java文件中可包含多个main方法
  7. Docker最全教程——从理论到实战(九)
  8. 使用Apache Camel发布/订阅模式
  9. python导入模块以及类_python—模块导入和类
  10. Extra Data after Last Expected Column:hawq建外表load数据报错
  11. 边缘计算安全技术综述
  12. flutter中使用InkWell给任意Widget添加点击事件
  13. dma和通道的区别_Java中IO和NIO的本质和区别
  14. 190314每日一句
  15. 2015 年 5 月软考网络工程师真题与参考答案
  16. Matplotlib 可视化必备神书,附pdf下载
  17. 快递柜管理系统微信小程序-计算机毕业设计
  18. 光猫DNS服务器未响应,有光纤猫了还要猫吗?
  19. No serializer found for class com.yumoxuan.domain.Store and no properties discovered to create BeanS
  20. 无线蓝牙耳机哪款音质好?目前音质最好的无线蓝牙耳机推荐

热门文章

  1. 每年考研竟然这么多人划水?努力的人没你想的那么多!
  2. sys/videoio.h not found
  3. python中squeeze函数_Python numpy.squeeze()用法及代码示例
  4. day20request和bs4
  5. Ubuntu 22.04 随便一玩
  6. fir, 蒲公英分发iOSAPP的方法(使用itms-services协议), 如何下载fir包到电脑
  7. 神经网络数值分析软件,神经网络预测结果分析
  8. 学计算机网路的感想,【必备】网络培训心得体会四篇
  9. python实现《五子棋》
  10. UWB技术//2021-3-1