1.判断list是否为空

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

//方法1
if (list != null && !list.isEmpty()) {//list不为空} else {//list为空}//方法2
if (list != null && list.size() > 0) {//list不为空} else {//list为空}//方法3
if (list == null || list.size() == 0) {//list为空} else {//list不为空}

list!=null:判断是否存在list,null表示这个list不指向任何的东西,如果这时候你调用它的方法,那么就会出现空指针异常。
list.isEmpty():判断list里是否有元素存在
list.size():判断list里有几个元素
所以判断list里是否有元素的最佳的方法是:
if(list != null && !list.isEmpty()){
        //list存在且里面有元素
}

2.原理分析

list!=null和list.size()>0的区别:

(1)list==null,意味着list压根没有地址,在堆内就不存在。

(2)list.size()=0 意思堆内有list但是还没来得及放元素,其长度随着元素数量变化而变化,暂时为零。

(3)list如果为null的话,说明没有进行初始化。这时list调用任何的方法都会抛出空异常。list.size()==0说明list已经被new过,但是里面没有值。

(4)区别:

①瓶子存在 list != null

②瓶子里没有水 list.isEmpty()

判断的时候一定要注意先后顺序。如果没有瓶子都没有,直接判断有没有水,是会报java.lang.NullPointerException的

③另外:

list.add(null)会造成list.isEmpty() 为 false, list.size() 为1,所以代码里要避免list.add(null)的陷阱。

④理解:

举个例子,我有一个空着的水杯(list),而你没有,那你是null,我的size为0。你如果想装水就需要买个水杯(new ArrayList();),而我却可以直接装水(list.add(水))。你要是没有杯子直接装水,水就流出去啦(空指针异常)。所以用做判断的时候经常连用 list!=null && list.size()>0

3.双重判断原理

List list=new ArrayList();

①如果是以上这样的话,list不为null 但是size=0,这样集合对于之后的判断是没有意义的, 甚至是报异常,如list.get(0…n)这样取值判断,就会报异常。

②如果先判断size再判断null 如:if(list.size>0&&list !=null){};这种情况如果list 等于null 时,那么list.size会报空指针异常。

所以要双重判断这样写最好if(list !=null && list.size>0){}

原文链接:https://blog.51cto.com/u_13890766/2352041

java中判断list是否为空相关推荐

  1. java中判断list是否为空的用法(亲测)

    1.如果想判断list是否为空,可以这么判断: if(null == list || list.size() ==0 ){ //为空的情况 }else{ //不为空的情况 } 2.list.isEmp ...

  2. java判断bean是否为空_总结java中判断对象是否为空的方法

    我们想要判断对象是否为空,像基本类型那样判断是不可以的, ==={} ?这样是错误的,因为这只是比较引用地址是否相同,所以可以采取下面的方法来进行判断. 1.根据for...in遍历对象,如果存在则返 ...

  3. Java中判断String不为空的问题

    一.判断一个字符串str不为空的方法有: 1. str!=null; 2. "".equals(str); 3. str.length()!=0; ( 注意:length是属性,一 ...

  4. java中判断list是否为空的方法区别

    因为之前用list!=null来判断list是否为空,结果无论怎样都是不为空,搜索到"久伴久伴"的这篇博客,觉得写得很清晰,转载一下,以下为原文: 1.如果想判断list是否为空, ...

  5. Java中判断字符串是否为空

    文章目录 0 写在前面 1 字符串.isEmpty 2 ''.equals(字符串) 3 字符串.length()>0 注意事项 0 写在前面 isEmpty(); "".e ...

  6. java中判断list是否为空的用法

    isEmpty()判断有没有元素 而size()返回有几个元素 如果判断一个集合有无元素  建议用isEmpty()方法.这清晰,简明

  7. Java中判断数组是否为空

    一维数组 // 一维数组: int[] array if(array == null || array.length == 0)return true; 二维数组 //二维数组: int[][] ar ...

  8. java判断一个对象是否为空_Java中判断对象是否为空的方法的详解

    首先来看一下工具StringUtils的判断方法: 一种是org.apache.commons.lang3包下的: 另一种是org.springframework.util包下的.这两种StringU ...

  9. java数组为空如何判断_Java中判断数组是否为空?

    一. java中 1.判断一个String类型的字段是否为空 StringUtils.isBlank()可判断 null,"","  ",三种类型 2.判断两个 ...

最新文章

  1. python selenium error “Geckodriver executable needs to be in PATH”
  2. java中字符串分割器_java简易文本分割器实现代码
  3. CSS Media媒体查询
  4. 部署并使用Docker(Alibaba Cloud Linux 2)
  5. Linux下文件的三个时间意义及用法
  6. SAP Spartacus页面底部的Component请求
  7. Linux重定向详解
  8. css3帮你轻松实现圆角效果,不一样的前端页面。
  9. android横向展示状态,【报Bug】Android横屏状态下启动App,即使在App.vue中锁定竖屏,但是首页nvue中的rpx单位是按照启动的横竖屏状态显示的!...
  10. 用户画像之Spark ML实现
  11. 计算机怎么远程桌面,电脑远程桌面如何连接 电脑远程桌面连接方法【详解】...
  12. c#复制包含子目录文件夹代码
  13. SSH 有关密钥和私钥 的那些事儿
  14. 【概率论基础01】:通俗解释,啥叫随机变量?
  15. 微信小程序编译的时候模拟器空白显示
  16. 计算机画图怎样更改文字,一招教你利用画图工具修改图片上的文字
  17. win 平台上排名第二的下载工具——IDM
  18. vue项目之页面底部出现白边及空白区域错误记录
  19. 小米电视5和5pro区别
  20. 系列一:HIDS初识

热门文章

  1. Windows虚拟盘创建和删除
  2. 物联网BLE裸机程序开发 -- (1)nRF52840配置GPIO输出驱动LED
  3. JS中获取时间戳的几种方式
  4. 战网登录器:完美解决炉石美台国服三合一
  5. UE4实现VR下匕首攻击的方法
  6. MySQL联合索引or_MySQL联合索引命中条件
  7. java字符转对象,Java将字符串转换为对象
  8. 过来人的经验:Java实习生在公司里一般都做什么?
  9. webpack基础篇(五):代码分离(Code Splitting)
  10. 六成应用开发不需要程序员,一大批程序员即将失业