【转】常用的判空工具类

常用判空的工具

对象的判空

推荐统一使用 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 @ 2024-09-12 17:30  xiaolifc  阅读(122)  评论(0)    收藏  举报