Java判断集合List、字符串非空方法总结 您所在的位置:网站首页 判断一个集合是否为空 Java判断集合List、字符串非空方法总结

Java判断集合List、字符串非空方法总结

2024-07-13 06:37| 来源: 网络整理| 查看: 265

实际代码编写过程中少不了各种场景空数据的校验,有时候一不小心就空指针了 下面示例列举了大部分场景的空数据的校验场景和注意事项 注意下面示例是伪代码,不能直接运行,记录使用思想

集合 情况1: //正确校验方式 List list = null; if (list != null) { System.out.println("不为空"); } else { System.out.println("空"); } 执行结果:空 //错误校验方式 //造成这种结果其实是null判断是有没有对list集合分配内存空间,而不是list里面内容是否为空。new ArrayList()就已经对list分配了内存空间 List list = new ArrayList(); if (list != null) { System.out.println("不为空"); } else { System.out.println("空"); } 执行结果:不为空

所以一般校验的时候,我们既要考虑集合是为null,还要考虑集合是否为空集合 所以最好是双重判断,一般会有如下几种校验方式

//最传统的校验方法 if (list != null && list.size() > 0) { } //源码 //public boolean isEmpty() { //return size() == 0; //} if (list != null && !list.isEmpty()) { } //此方法包含了上面两种校验方式,个人推荐使用这种方式 //此处引用包 import org.springframework.util.CollectionUtils //源码,所以根本原理还是用的isEmpty方法 //public static boolean isEmpty(@Nullable Collection collection) { //return collection == null || collection.isEmpty(); //} if (!CollectionUtils.isEmpty(list)) { }

但是 还有一个坑

//会造成以上三种情况都判断不出来 //所以代码里要避免list.add(null)的陷阱 List list = new ArrayList(); list.add(null); 字符串 // \n换行转义符 \t空格转义符,8个空格 \r回车 StringUtils.isNotEmpty(null) = false √ StringUtils.isNotEmpty("") = false √ StringUtils.isNotEmpty(" ") = true X StringUtils.isNotEmpty("\n\t\r") = true X StringUtils.isNotBlank(null) = false √ StringUtils.isNotBlank("") = false √ StringUtils.isNotBlank(" ") = false √ StringUtils.isNotBlank("\n\t\r") = false √

所以,在业务逻辑中,用isNotBlank要比isNotEmpty更好,可以有效的防止空格、换行、回车等一些特殊的情况



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有