常用判空的工具
对象的判空
推荐统一使用 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
标签:返回,常用,对象,方法,判空,工具,null,Optional From: https://www.cnblogs.com/xiaolibiji/p/18410681