zoukankan      html  css  js  c++  java
  • Optional 处理空指针异常

    通过ofNullable创建Optional 对象

    Optional<User> optionalUser = Optional.ofNullable(user);
    

    Optiona常用API

    orElse 存在即返回, 空则提供默认值

     // 存在即返回, 空则提供默认值
            optionalUser.orElse(new User());
    

    orElseGet 存在即返回, 空则由函数去产生

    // 存在即返回, 空则由函数去产生
            optionalUser.orElseGet(() -> anoymos());
    

    orElseThrow 存在即返回, 否则抛出异常

     // 存在即返回, 否则抛出异常
            optionalUser.orElseThrow(RuntimeException::new);
    

    ifPresent 存在才去做相应的处理

    // 存在才去做相应的处理
            optionalUser.ifPresent(u -> System.out.println(u.getName()));
    

    map 对 Optional 中的对象执行某种操作,

            // map 可以对 Optional 中的对象执行某种操作, 且会返回一个 Optional 对象
            optionalUser.map(u -> u.getName()).orElse("anymos");
    
            // map 是可以无限级联操作的
            optionalUser.map(u -> u.getName()).map(name -> name.length()).orElse(0);
    
  • 相关阅读:
    SVG平移和缩放(鼠标滚轮)的实现
    CSS之容器水平垂直居中
    CSS之flex布局
    CSS之鼠标悬停——内容变深/变浅
    CSS之clip-path绘制多边形
    axios
    .Net 反射
    Redis
    .Net Core GRPC报错
    Python 京东云无线宝消息推送
  • 原文地址:https://www.cnblogs.com/xiaodou00/p/14751515.html
Copyright © 2011-2022 走看看