Java8-Optional类-ofNullable与orElseThrow

本文介绍了Java中的Optional类,它用于处理可能为null的对象,避免空指针异常。Optional提供了ofNullable、orElseThrow等方法来优雅地处理空值情况。通过一个实例展示了如何在代码中使用Optional.ofNullable()方法,当对象为空时抛出自定义异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 Optional

1.Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。

2.Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。

3.Optional 类的引入很好的解决空指针异常。

1.ofNullable

如果为非空,返回 Optional 描述的指定值,否则返回空的 Optional。

public static <T> Optional<T> ofNullable(T value) {
   return value == null ? empty() : of(value);
}
2.orElseThrow

如果存在该值,返回包含的值,否则抛出由 Supplier 继承的异常

public <X extends Throwable> T orElseThrow(Supplier<? extends X> exceptionSupplier) throws X {
    if (value != null) {
        return value;
    } else {
        throw exceptionSupplier.get();
    }
}
3.实例
/**
* @Author yqq
* @Date 2021/4/15 21:50
* @Version 1.0
*/
public class OfNullableDemo {
   public static void main(String[] args) throws NullException {
       String str=null;
       Optional.ofNullable(str)
               .orElseThrow(() -> new NullException("大连东软信息学院就是棒"));
   }
}
//自定义异常
class NullException extends Exception{
   public NullException(){
   }
   public NullException(String msg){
       super(msg);
   }
}
//Exception in thread "main" yqq.Lambda.Optional.ofNullable.NullException: 大连东软信息学院就是棒
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

留不住的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值