java8 Optional类让你的null判断更加优雅

660 阅读1分钟
public static void main(String[] args) {

    BigDecimal cost = new BigDecimal(1);
   //判断cost是不是null  是null则设置为0
   BigDecimal calcCost = null != cost ? cost : BigDecimal.ZERO;
   //Optional写法  是不是挺装B
    BigDecimal calcCost = Optional.ofNullable(cost).orElse(BigDecimal.ZERO);


    //判断对象user
    User user = new User();
    user.setPuid(11);
    //这里意思是user如果是null  则new 一个对象返回
    Optional.ofNullable(user).orElseGet(User::new);
    
    
    
    Optional.ofNullable(user).orElseGet(()-> {
        //这里也可以进行其它复杂操作
        //比如调用其实方法
    });
}