Optional类的用法

Optional类存在于java8中,用于解决防止空指针问题写的很多if。
常见API:

**of,  ofNullable**,  
Optional.of(user); No matter what the user is ,return the user;
Optional.ofNullable(user);If user is null, return the empty Object.

**orElse,  orElseGet,  orElseThrow**
Optional.ofNullable(user).orElse(new User());//Even if user is null, return new User().
Optional.ofNullable(user).orElseGet(new User());//If user is null,return new User(),else return user.
Optional.ofNullable(user).orElseThrow(()->new RuntimeException("Exception"));//If user is null, throw Exception.

**map,  isPresent,  ifPresent**
Optional.ofNullable(user).map(u -> u.getEmail()).get();//取得email的值。Get the value of email
Optional.ofNullable(user).ifPresent(u->{
            System.out.println("存在");
        });//If user isn't null,sout "存在"
 
 **filter**
Optional.ofNullable(user).filter(u->u.getEmail().equals("123@.com")).orElseGet(()->new User());  
//If user's email equals "123@.com",return this user,else return new User(); 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值