【转】常用的判空工具类
常用判空的工具
对象的判空
推荐统一使用 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 时,可以不对返回值进行判空。
本文来自博客园,作者:xiaolifc,转载请注明原文链接:https://www.cnblogs.com/xiaolibiji/p/18410681
分类:
Java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!