解决for循环为空不需要判断的问题
关于网上说的增强式for和普通for循环为空不需要判断的问题:
public class testData { public static void main(String[] args) { List<String> list = new ArrayList<>(); for ( String str:list){ System.out.println("11"); } for (int i = 0; i < list.size(); i++) { System.out.println("22"); } list=null; for ( String str:list){ System.out.println("11"); } for (int i = 0; i < list.size(); i++) { System.out.println("22"); } } }
通过上述的代码,得出以下结论:当list为空的时候会报空指针异常,但是如果是一个空对象的时候会跳过for循环,不进行for循环中的任何的操作.
补充知识:增强for循环注意空集合问题
我就废话不多说了,大家还是直接看代码吧~
List<String> list = null; for (String str : list) { System.out.println(str); }
list为null时会报空指针异常;list为长度为0的空集合却不会。所以每次使用for循环的时候要注意空值的判断。
以上这篇解决for循环为空不需要判断的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
java判断字符串String是否为空问题浅析
一.判断一个字符串str不为空的方法有: 1.str == null;2."".equals(str);3.str.length <= 0;4.str.isEmpty();注意:length是属性,一般集合类对象拥有的属性,取得集合的大小. 例如:数组.length就是取得数组的长度. length()是方法,一般字符串类对象有该方法,也是取得字符串长度. 例如:字符串.length();说明: 1.null表示这个
-
Java for循环详解
对于java中的for循环,我们用的最多的无非就是下面这个语句: for (int i = 0; i < 10; i++) { System.err.println(i); } 但是对于for循环来说,它也有很多变体,如果不清楚了解for循环的结构原理,遇上一些变体的for循环,可能一时不太明白它的含义,for循环虽然有很多变体,但都离不开括号内3条语句的模式(除了增强for循环模式,后面再讨论) for循环的结构: for(语句A; 语句B; 语句C){ //循环体 } 其中,语句A在整个循环
-
解决for循环为空不需要判断的问题
关于网上说的增强式for和普通for循环为空不需要判断的问题: public class testData { public static void main(String[] args) { List<String> list = new ArrayList<>(); for ( String str:list){ System.out.println("11"); } for (int i = 0; i < list.size(); i++) { Sy
-
快速解决ajax传递为空但显示在页面上为undefined的问题
昨天写代码遇到一个问题,这个问题以前也遇到过,只不过那时以为简单就没做什么笔记,结果昨天遇到还是要去查百度,查百度又要找好一会儿,所以就记录一下.避免以后忘记. 首先问题是这样的:我用ajax到动态的做表格插入,从后台传回来一个对象的list集合,然后进行遍历动态的生成表格的行.后台写的都正确的,结果表格有些内容为显示为undefined.后来我调试了一下发现ajax自动的把为空的字段设成了undefined. //这是修改后的ajax代码 $("#ss").click(functio
-
基于insertBefore制作简单的循环插空效果
效果图展示: 源码查看 [功能说明] 利用insertBefore制作简单的循环插空效果 [HTML代码说明] <ul class="list" id="list"> <li class="in">1</li> <li class="in">2</li> <li class="in">3</li> <li class=
-
详解C语言 三大循环 四大跳转 和判断语句
三大循环for while 和 do{ }while; 四大跳转 : 无条件跳转语句 go to; 跳出循环语句 break; 继续跳出循环语句 continue; 返回值语句 return 判断语句 if,if else,if else if else if...else ifelse 组合 if(0 == x) if(0 == y) error(): else{ //program code } else到底与那个if配对 C语言有这样的规定: else 始终与同一括号内最近的未匹配的if语
-
java中lambda(函数式编程)一行解决foreach循环问题
java lambda(函数式编程)一行解决foreach循环 首先给大家推荐<精通lambda表达式:java多核编程> 这本书详细介绍了lambda表达式从入门到理解.应用 下面介绍用以前的循环方式进行对比,来更加清晰地java函数式编程中foreach的用法 一.以前我们使用的for循环 /** * for循环 */ @Test public void forTest() { // 实例化一个List List<Point> points = Arrays.asList(ne
-
Java反射机制如何解决数据传值为空的问题
目录 反射机制数据传值为空的问题 java反射处理空值 反射机制数据传值为空的问题 两个小方法,用于解决BeanUtils.copyProperties(x, y);中源对象的值为空问题 1.通过实体注解数据库字段为Map的Key,需要的非空值为Value封装数据 @Override public Map<String, Object> setNodeParamItems(DispatchInfoItem dispatchInfoItem) throws NoSuchMethodExc
-
详解在springmvc中解决FastJson循环引用的问题
我们先来看一个例子: package com.elong.bms; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; import com.alibaba.fastjson.JSON; public class Test { public static void main(String[] args) { Map<String, Student> maps = new HashMap<
-
详解C++循环创建多级目录及判断目录是否存在的方法
C++循环创建多级目录 #include "unitfiles.h" #ifdef WIN32 #include <direct.h> #include <io.h> #elif LINUX #include <stdarg.h> #include <sys/stat.h> #endif #ifdef WIN32 #define ACCESS _access #define MKDIR(a) _mkdir((a)) #elif LINUX
-
解决golang 反射interface{}做零值判断的一个重大坑
在对float零值判断时往往只需要和0做==即可,所以曾经int和float都用==0来做对比, 比如下方: in := 0. var tmp interface{} = float32(in) fmt.Println("float 0==0:", in == 0) fmt.Println("float -> interface{} -> float", tmp.(float32) == 0) switch v := tmp.(type) { case
-
采用自执行的匿名函数解决for循环使用闭包的问题
这段代码输出的是10个10而不是期望的0到9,因为闭包内是对i的引用,然后函数执行时i已经变成了10 function f1(){ for(var i = 0; i < 10; i++) { setTimeout(function() { alert(i); }, 1000); } } f1(); 解决以上的问题可以采用自执行的匿名函数 function f2(){ for(var i = 0; i < 10; i++) { (function(e) { setTimeout(function
随机推荐
- VB实现的递归复制文件和搜索文件的代码分享
- 正则表达式中的"g"是什么意思附件参数g的用法
- git冲突解决_动力节点Java学院整理
- iOS指纹验证TouchID应用学习教程2
- C语言关系运算符实例详解
- js 3种归并操作的实例代码
- JS中frameset框架弹出层实例代码
- PHP IF ELSE简化/三元一次式的使用
- 详解Python编程中基本的数学计算使用
- Python创建文件和追加文件内容实例
- 一句话 asp木马加密版 彻底突破杀毒软件
- Android Studio 3.0 新功能全面解析和旧项目适配问题
- 使用MySQL Slow Log来解决MySQL CPU占用高的问题
- Symfony2针对输入时间进行查询的方法分析
- CSS滤镜参考
- C/C++位操作实例总结
- 浅谈jQuery中replace()方法
- jQuery EasyUI API 中文文档 - Parser 解析器
- Nginx实现异步访问mysql的配置方法
- Android编程实现的一键锁屏程序详解