Optional类(java.util.Optional)是一个容器类,代表一个值存在或不存在,原来用null表示一个值不存在,现在Optional可以更好的表达这个概念。并且可以避免空指针异常。
Optional对象构建&值获取方法

实例代码如下
Optional<String> optional = Optional.of("java8");
// NullPointerException空指针异常 值不能为空
optional = Optional.of(null);
optional = Optional.ofNullable("java8");
System.out.println(optional.get());
System.out.println(optional.orElse("java"));
System.out.println(optional.orElseGet(()-> "java"));
System.out.println(optional.orElseThrow(()->new RuntimeException()));
// 值可空 推荐使用
optional = Optional.ofNullable(null);
// 运行时抛出NoSuchElementException异常
System.out.println(optional.get());
System.out.println(optional.orElse("java"));
System.out.println(optional.orElseGet(()-> "java"));
System.out.println(optional.orElseThrow(()->new RuntimeException()));
Optional逻辑判断操作
这里可以使用Optional提供的API相关方法来执行逻辑判断操作 。

用户记录查询-消除null判断
以用户模块为例,UserService中提供queryUserById方法供客户端调用,如下:
public User queryUserById(Integer userId){
return null;
}
客户端调用Java8以前逻辑代码为例避免null通常为如下形式:
User user= userService.queryUserById(10);
if(null != user){
System.out.println("匹配到该用户");
/**

本文详细介绍了Java8中的Optional类,它作为一个容器类,用于替代null表示值可能存在或不存在,有效防止空指针异常。文章通过示例代码展示了Optional的创建、逻辑判断、消除null检查、业务逻辑返回、值过滤以及在页面转发和动态SQL参数过滤中的应用,旨在提高代码的简洁性和安全性。
最低0.47元/天 解锁文章
4835

被折叠的 条评论
为什么被折叠?



