【转】常用的判空工具类

常用判空的工具

对象的判空

推荐统一使用 java.util 包的 Objects.nonNull() 等方法。

集合的判空

推荐统一使用 org.apache.commons.collections.CollectionUtils 包的 .isNotEmpty() 等方法。

Map 对象判空

推荐统一使用 Map 自带的 .isEmpty() 、 .containsKey()、.equals() 这三者配合使用。

字符串的判空

推荐统一使用 org.apache.commons.lang3.StringUtils 包的 .isNotBlank() 等方法。

Optional类

 Optional
     //of(T value)方法用于创建一个包含指定值的 Optional 对象,该方法接收一个非 null 值作为参数
   .of()
     //ofNullable(T value)方法用于创建一个包含指定值的 Optional 对象,该方法接收一个可能为 null 的值作为参数
     .ofNullable()
     //isPresent()方法用于判断 Optional 对象中是否存在非 null 值,有值就返回 true ,否则返回 false
     .isPreset()
     //orElse(T other)方法顾名思义,泛型 T 表示其它的类型
     .orElse()
     //ifPresent(Consumer<? super T> consumer) 判断该对象是否值,有则调用传入的 Consumer 类型函数处理该值。否则,什么也不做
     .ifPresent()  
     //map(Function<? super T, ? extends U> mapper) 用于对 Optional 对象中的值进行映射,并返回一个新的 Optional 对象
     .map()
     //filter(Predicate<? super T> predicate) 用于过滤 Optional 对象中的值,只有当值满足特定条件时才保留
     .filter()

什么情况下可以不需要判空?

答:一般当方法允许直接返回 null 时,可以不对返回值进行判空。

转载自 https://www.cnblogs.com/CodeBlogMan/p/18005657

posted @   xiaolifc  阅读(62)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示