public static void main(String[] args) {Integer value1 = null;Integer value2 = 1;Optional<Integer> optional1 = Optional.ofNullable(value1);Optional<Integer> optional2 = Optional.of(value2);try {if(optional1.isPresent()){System.out.println("optional1的isPresent结果不为空");}else{System.out.println("optional1的isPresent结果为空");}}catch (Exception e){System.out.println("optional1的isPresent判空失败,原因:"+e.getMessage());}try {if(optional2.isPresent()){System.out.println("optional2的isPresent结果不为空");}else{System.out.println("optional2的isPresent结果为空");}}catch (Exception e){System.out.println("optional2的isPresent判空失败,原因:"+e.getMessage());}optional1.ifPresent(t->{int i =t+1;System.out.println("optional1处理后的值是"+i);});optional2.ifPresent(t->{int i =t+1;System.out.println("optional2处理后的值是"+i);});Integer value3 = 2;Integer result = optional1.orElse(value3);System.out.println("optional1执行orElse处理后的值是"+result);result = optional2.orElse(value3);System.out.println("optional2执行orElse处理后的值是"+result);result = optional1.orElseGet(()-> new Integer(-1));System.out.println("optional1执行orElseGet处理后的值是"+result);result = optional2.orElseGet(()-> new Integer(-1));System.out.println("optional2执行orElseGet处理后的值是"+result);try {result = optional1.orElseThrow (()-> new RuntimeException("值是空的"));System.out.println("optional1执行orElseThrow处理后的值是"+result);}catch (Exception e){System.out.println("optional1的orElseThrow抛出异常:"+e.getMessage());}try {result = optional2.orElseThrow (()-> new RuntimeException("值是空的"));System.out.println("optional2执行orElseThrow处理后的值是"+result);}catch (Exception e){System.out.println("optional2的orElseThrow抛出异常:"+e.getMessage());

文章插图
2.3.5 过滤方法1)源码
public Optional<T> filter(Predicate<? super T> predicate) {Objects.requireNonNull(predicate);if (!isPresent())return this;elsereturn predicate.test(value) ? this : empty();经验总结扩展阅读
- Go 源码解读|如何用好 errors 库的 errors.Is 与 errors.As() 方法
- Optional 常用方法总结
- 走到尽头结局解析?
- 西西里的美丽传说解析?
- LOL血港开膛手派克技能解析及玩法技巧?
- 王者荣耀孙策技能解析?
- 英魂之刃李探花出装打法解析?
- 王者荣耀中钟馗技能解析以及如何连招?
- 英雄联盟lol青钢影卡蜜尔技能玩法解析?
- 野荷塘网站源码,野荷塘网站模板哪里可以买到?
