java for each 空的_使用foreach需要判空。
今天写代码的时候,需要遍历一个作为参数传递进来的容器,
当时顺手就加上了判空条件:
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需要判空。相关推荐
- sql动态拼接<if>标签嵌套<foreach>判空、if失效等问题
问题描述:在sql语句中使用<if>标签和<foreach>标签动态拼接,如下图: 由于已经使用双引号将<if>包起来了,在<if>标签中判断空字符串时 ...
- python 空矩阵_在NumPy中创建空数组/矩阵的方法
如何在NumPy中创建空数组/矩阵? 在添加行的情况下,你最好的选择是创建一个与数据集最终一样大的数组,然后向它添加数据 row-by-row: >>> import numpy & ...
- java实体类及类属性判空
敲代码时判空是必须的,这里分享一下java实体类及类属性判空体会. 一.实体类判空: 1.1实体类判空 如果是读库返回实体类,我们直接判空即可,如下图 1.2如果是先定义了类就不能这样判空了,因为ne ...
- Java 判空工具方法大全
java 判空工具方法大全 前言 一.一般类型的判空 1.String 类型判空 2.包装类型判空 二.类对象判空 1.类对象判空 三.容器类型判空 1.List.Set 判空 2.Map 判空 前言 ...
- 队列判空_数据结构与算法——队列的C语言实现
本人原创,有问题请评论,楼主会随时回来查看修改滴~ 觉得有用请点个赞哦~~ 1.顺序队 /** 2020.04:queue 顺序结构-循环队列 判空 判满 求长度 入队 出队 获取队头 获取队尾 */ ...
- JDK8:使用Optional进行变量判空、集合遍历
防止 NPE,是程序员的基本修养. NPE(Null Pointer Exception)一直是我们最头疼的问题,也是最容易忽视的地方.NPE常是导致Java应用程序失败的最常见的原因.在日常研发工作 ...
- 单链表——单链表的定义及基本操作(初始化、头插法尾插法建表、查找、插入、删除、判空等)
文章目录 单链表的定义 单链表上的操作 初始化 建立单链表 头插法建立单链表 尾插法建立单链表 遍历单链表 求单链表的长度 查找操作 按值查找 按位查找 插入操作 删除操作 判空操作 完整代码及实例 ...
- 如何判断map为空_在Java中如何优雅地判空
来自:李良逸 链接:http://blog.imuxuan.com/archives/86 判空灾难 作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢 NullPo ...
- java list 去空字符串_【JAVA基础】list和字符串判空
前言: 我们在项目中经常需要对获取的list集合或String类型变量判空,看前辈的代码,不同的人判空的方法不一样,那么,Java代码中,对list集合和String类型变量到底该如何判空呢? 一.J ...
最新文章
- matlab去雾算法论文,基于matlab的图像去雾算法详细讲解与实现-附matlab实现源代码.doc...
- HTML5 Canvas简简单单实现手机九宫格手势密码解锁
- vue动态获取元素距离页面顶部的高度_VUE如何实时监听元素距离顶部高度
- 推论统计学基础一:Estimation
- jquery attr()和prop()方法的区别
- 一个java文件中可包含多个main方法
- Docker最全教程——从理论到实战(九)
- 使用Apache Camel发布/订阅模式
- python导入模块以及类_python—模块导入和类
- Extra Data after Last Expected Column:hawq建外表load数据报错
- 边缘计算安全技术综述
- flutter中使用InkWell给任意Widget添加点击事件
- dma和通道的区别_Java中IO和NIO的本质和区别
- 190314每日一句
- 2015 年 5 月软考网络工程师真题与参考答案
- Matplotlib 可视化必备神书,附pdf下载
- 快递柜管理系统微信小程序-计算机毕业设计
- 光猫DNS服务器未响应,有光纤猫了还要猫吗?
- No serializer found for class com.yumoxuan.domain.Store and no properties discovered to create BeanS
- 无线蓝牙耳机哪款音质好?目前音质最好的无线蓝牙耳机推荐
热门文章
- 每年考研竟然这么多人划水?努力的人没你想的那么多!
- sys/videoio.h not found
- python中squeeze函数_Python numpy.squeeze()用法及代码示例
- day20request和bs4
- Ubuntu 22.04 随便一玩
- fir, 蒲公英分发iOSAPP的方法(使用itms-services协议), 如何下载fir包到电脑
- 神经网络数值分析软件,神经网络预测结果分析
- 学计算机网路的感想,【必备】网络培训心得体会四篇
- python实现《五子棋》
- UWB技术//2021-3-1