1. 乱象

代码中各种同胞写的各种集合判空,很多,很杂乱。大多数是不规范的,而且可能会造成NPE,特别是业务层调DAO层查询列表时,势必会有空值返回,这个时候一个简单的 list.size()>0 就显得很无力,很bug。

2. 判空/非空工具类

很简单:CollectionUtils.isEmpty() 返回布尔值,用它没有任何bug烦恼,用起来.

想判断非空也很简单,引入 `commons-collections4` 包,直接调用 CollectionUtils.isNotEmpty()

有人就问了,非空直接加个感叹号给 CollectionUtils.isEmpty() 不就好了,是的,是可以的,但

不管是依据阿里的规范还是什么,isNotEmpty 是更为 见文知义的,java中判断的时候尽量不使用感叹号

3. 工具类源码追踪

当然使用这个工具类就得知道它的原理,比如 isEmpty() 的源码非常简捷:

collection == null  ||  collection.size() == 0

Java集合判空/非空相关推荐

  1. Java集合优雅的判空/非空

    一.乱象 代码中各种同胞写的各种集合判空,很多,很杂乱.大多数是不规范的,而且可能会造成空指针异常. 这篇讲的CollectionUtils工具类是在apache下的, 而不是springframew ...

  2. java实体类属性非空判断工具类

    import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.En ...

  3. 集合判断哪非空 、2个集合取交集/并集/差集

    文章目录 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-co ...

  4. Java导出Excel公式非空判断_使用poi导成excel的一个类型判断函数

    /** * 获取cell中的数据 * @param cell * @return */ private String readCell(HSSFCell cell) { if (null == cel ...

  5. js判断对象中每一项属性都不为空 非空检测

    项目表单提交时常常需要校验必填项不能为空,如果每一项都单独来判断的话代码过于繁杂 这里给出一个较为简单的方式: 注意:这种方式用于简单对象,即对象中不含对象或数组等复杂对象的对象 let ruleFo ...

  6. MVC的Model层验证(非空,手机号验证)

    在用MVC做项目的时候,我们常常需要做用户登录注册的一些提示,比如手机号格式不正确,邮箱不正确,用户名不能为空等.今天先总结下在MVC的Model层中实现注册的验证.若有问题,欢迎大家指出. 第一步: ...

  7. 【Java 集合】集合框架 JCF

    集合框架 JCF 一.概述 二.List - 线性表 1.ArrayList(顺序存储) 2.LinkedList(链式存储 - 双向链表) 3.Vector(顺序存储)  List - 基本操作 三 ...

  8. java中如何限制输入非空_项目中的参数限制、非空、以及集合中的验证,你真的会做吗(Java)...

    背景: 在项目管理中,我们通常要对一个个参数做验证, 前端校验,后端加校验,这里为了保证校验的一致性,我们需要将我们的校验写的比较高效率一点,不至于满篇都是is null的进行参数验证,为了成为一个成 ...

  9. java中集合判空_Java中的类型安全的空集合

    java中集合判空 我以前曾在Java Collections类的实用程序上进行过博客撰写,并且特别地在使用Usings Collections Methods上的博客emptyList(),empt ...

最新文章

  1. 星光不问赶路人——任正非
  2. DzzOffice增加应用对扩展名文件的支持设置,将会在Beta中提供。
  3. [新产品发布|推广] 赠书活动来了,参与有机会得《产品经理那些事儿》图书!...
  4. SSM+BJUI实现添加和编辑共用一个页面
  5. jQuery之Ajax
  6. COCO 54.7mAP!DetectoRS目标检测:改进主干网,成就新高度!
  7. ES面试基础知识要点
  8. Django视图层:URL调度器、Django处理一个请求、URLconf在查找什么?URL:①path()路径、②路径转换器Path converter、③正则表达式组re_path()
  9. [转]如何使用BackTrack破解WIFI无线网络的WEP密钥
  10. 使用tcpdump找出PP用户
  11. 分布式文件存储-FastDFS原理简介
  12. 看到“东大研究生”吐槽华为cpu,海思,请知道的人科普一下吧,我抛砖引玉
  13. 修改android模拟器位置
  14. 5.19 对学生按姓名进行随机排序 [原创Excel教程]
  15. [NepCTF]WEB
  16. [Kafka][错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_101\lib\dt.jar;C:\Program]
  17. AI崛起,阿里的科技孵化力
  18. c++在csv写入汉字_python-opencv表格识别转csv
  19. 使用 SAP UI5 Smart Chart 控件轻松绘制十数种不同类型的专业图表试读版
  20. 解决 Vue3.0 globalThis is note defined

热门文章

  1. 几个常用的、重要的网络命令!(ping,Tracert ,winipcfg等)
  2. 嵌入式Linux磁盘(硬盘、SD卡)读写性能测试
  3. 17、文件IO详解及实例
  4. 盘点“PayPal黑帮”成员的传奇创业故事
  5. PowerManagerService(一)
  6. RGB颜色值与十六进制颜色码对照表
  7. 绿色养眼桌面壁纸[4P]
  8. 非常实用的九个程序员工具网站
  9. 在阿里云下安装SQL Server
  10. Python求离散序列导数