对集合进行判空的操作

if(null == list || list.size() ==0 ){

  //为空的情况

}else{

  //不为空的情况

}

如果想判断list是否为空,可以这么判断:

但是,

list.isEmpty() 和  list.size()==0  有啥区别呢?

答案:没有区别 。

      isEmpty()判断有没有元素,而size()返回有几个元素,

      如果判断一个集合有无元素 建议用isEmpty()方法.比较符合逻辑用法。

list!=null  跟  ! list.isEmpty()有什么区别?

这就相当与,你要喝水,
      前面就是判断是不是连水杯都没有,
      后面就是判断水杯里面没有水,
      连盛水的东西都没有,
      这个水从何而来?
      所以一般的判断是
      

      if(list!=null && !list.isEmpty()){
        这个里面取list中的值
      }else{
        做其他处理
      }

原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/11565859.html

时间: 2024-10-09 09:06:58

对集合进行判空的操作的相关文章

常用判空操作工具类

一.项目上校验空和空集合地方非常多,可以编写一个工具类统一校验 package com.moy.custom.utils; import java.util.Collection; import java.util.Map; /** * [Project]:moy-gradle-project <br/> * [Email]:[email protected] <br/> * [Date]:2018/1/31 <br/> * [Description]: 常用判空操作

点击button触发onclick事件判空后依旧自动跳转

这是一个前端的问题. 其中判断字符串为空的脚本代码是这样的: var remark = $("#Remark").val(); //判空.注意:var reg = /空格/g; var reg = / /g; var tmp = remark.replace(reg, ""); 先把所有空格去除,通过判断tmp是否为空来判断文本框是否为空. 问题是这样的:我点击button后,触发js脚本判断input框是否为空,如果为空就提示出错.否则提交表单. 结果是这样的:我

StringUtils工具类常用方法汇总1(判空、转换、移除、替换、反转)

Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总结了一下,方便以后查阅,大家有兴趣也可以看一下.   首先需要说明的一点是,StringUtils类在操作字符串时,即使操作的为null值也是安全的,不会报NullPointerException,这一点在后面的例子中再具体说明.因此,在操作字符串时使用StringUtils相比使用原生的Strin

高级工程师系列之在Java中如何优雅地判空

判空灾难 NullPointerException 作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢NullPointerException. 不过NullPointerException对于很多猿们来说,也是Exception家族中最亲近的一员了. Wowo 为了避免NullPointerException来找我们,我们经常会进行如下操作. if (data != null) {do sth.}如果一个类中多次使用某个对象,那你可能要一顿操作,so: 1 "

在Java中如何优雅地判空

http://blog.imuxuan.com/archives/86 在Java中如何优雅地判空 2018年11月22日 / 665次浏览 判空灾难 作为搬砖党的一族们,我们对判空一定再熟悉不过了,不要跟我说你很少进行判空,除非你喜欢NullPointerException. 不过NullPointerException对于很多猿们来说,也是Exception家族中最亲近的一员了. 为了避免NullPointerException来找我们,我们经常会进行如下操作. if (data != nu

java:在Conllection接口中实际上也规定了两个可以将集合变成对象数组的操作

在Conllection接口中实际上也规定了两个可以将集合变成对象数组的操作 //在Conllection接口中实际上也规定了两个可以将集合变成对象数组的操作 List<String> addlist = new ArrayList<String>(); addlist.add("hi"); addlist.add(0,"hello"); addlist.add("world"); Object obj[] = addli

【C++】容器适配器实现队列Queue的各种功能(入队、出队、判空、大小、访问所有元素等)

适配器: 将一个通用的容器转换为另外的容器,所谓的容器,指的是存放数据的器具,像我们知道的顺序表和链表都是容器Container.举个例子解释一下吧,我们的电压都是220v,而像充电线就起到转换到合适的电压的作用.而这里,我们的主角就是将通用的链表结构转换为来实现队列Queue这一数据结构,(意思就是,链表还可以去实现其他的数据结构). 在线性表中,分为链表和顺序表,我们知道其中的差别: 链表:节点灵活,使得插入删除元素方便灵活,但是对于单链表若有节点指针_head._tail,查找元素较为麻烦

关于foreach中对集合执行Add或者Remove操作引发枚举值被修改异常

方法传入集合List<string> ids; 执行操作后再次循环引发异常 foreach (string id in ids) { ids.Add("a"); } 更改为for循环可控制循环次数 int ic = ids.Count(); for (int j = 0; j < ic; j++) { //验证判断 //if(true) //{ //ids.Remove(ids[j]); //} }

【WPF异常】在使用 ItemsSource 之前,项集合必须为空

1 <DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="620" Height="269" AutoGenerateColumns="False" GridLinesVisibility="Non