4. Java8 Optional 容器类

Optional容器类

用于尽量避免空指针异常

1.方法

静态方法

方法名描述
static <T> Optional<T> empty()空的Optional实例
static <T> Optional<T> of(T value)返回具有Optional的当前非空值的Optional,如果为空发生异常
static <T> Optional<T> ofNullable(T value)返回一个Optional指定值的Optional,如果非空,则返回一个空的Optional,不会发生异常
  • 实例
  1. empty
        //of 获取一个非null的对象,如果为null则发生异常
        Optional<Employee> employee = Optional.of(new Employee());
        System.out.println(employee);
        //empty 获取一个空的自己
        Optional<Employee> empty = Optional.empty();
        System.out.println(empty);
        //和 of不同,ofNullable 允许获取一个null对象;
        Optional<Employee> employee1 = Optional.ofNullable(new Employee());
        Optional<Employee> employee2 = Optional.ofNullable(null);
        System.out.println(employee1);
        System.out.println(employee2);

其他常用方法

方法描述
isPresent()判断是否包含值
orElse(T t)如果调用对象包含值,返回该值,否则返回t
orElseGet(Supplier s)如果调用对象包含值,返回该值,否则返回 s 获取的值
map(Function f)如果有值对其处理,并返回处理后的Optional,否则返回 Optional.empty()
flatMap(Function mapper)与 map 类似,要求返回值必须是Optional
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值