• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

optional的orElse和orElseGet,orElseThrow

武飞扬头像
WannaRunning
帮助1

Optional是java8中增加的API,可以很好的解决空指针异常,而不用我们来进行显式的非空判断。

  1. ofNullable(null): 允许一个值为null
  2. isPresent(): 该方法判断值是否为null,当值不为null时返回true。通常与get()方法配合使用。
  3. get(): 获取Optional对象的值,使用这个方法前需要先调用isPresent()进行判断,如果返回true才可以调用get()方法获取值。如果在IDEA中直接使用get()时,IDEA会高亮提示我们要先进行isPresent()判断.
  4. orElse(): 如果Optional实例有值则将其返回,否则返回orElse方法传入的值。
  5. orElseGet(): 与orElse方法类似,区别在于得到的默认值;orElseGet方法可以接受Supplier的实现用来生成默认值。
  6. orElseThrow(): 如果有值则将其返回,否则抛出Supplier接口创建的异常。

使用示例 

  1.  
    Optional<Integer> math = Optional.of(new Integer(1));
  2.  
    //输出 1
  3.  
    System.out.println(math.orElse(new Integer(2)));
  4.  
    //使用ofNullable()方法定义一个Optional值为null的实例
  5.  
    Optional<Integer> math1 = Optional.ofNullable(null);
  6.  
    //会直接抛出空指针异常
  7.  
    Optional<Integer> math = Optional.of(null);
  8.  
    //输出 2
  9.  
    System.out.println(math1.orElse(new Integer(2)));
  10.  
    //输出 3
  11.  
    System.out.println(math1.orElseGet(() -> new Integer(3)));
  12.  
    //抛出BusinessException
  13.  
    System.out.println(math1.orElseThrow(() -> new BusinessException("1001","BusinessException")));

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgccabf
系列文章
更多 icon
同类精品
更多 icon
继续加载