optional

前言:

  optional  读音/ˈɑːpʃən(ə)l/

  解决问题:

     日常开发中的最常见的就是空指针异常。使用optional最大程度减少空指针异常

  所在包:java.util.Optional

  描述:是一个容器类,它可以保存类型T的值,代表这个值存在,或者仅仅保存null,表示这个值不存在

使用:

  1. 创建optional对象的方式

Optional.of(T value) 创建一个Optional对象,value必须有具体值
Optional.empty()     创建一个空的Optional对象
Optional.ofNullable(T value) value可以为具体值,也可以为null值

  2.常用方法

T get():如果 Optional中有一个值,返回值,否则抛出 NoSuchElementException 
boolean isPresent():判断对象中是否有值,有返回true,没有返回false
void ifPresent(Consumer<? super T> consumer >):如果有值,就执行Consumer接口的实现代码,并且该值会作为参数传给它
T orElse(T other):如果有值则将其返回,否则返回指定的other对象
T orElseGet(Supplier<? extends T>other):如果有值则将其返回,否则返回由Supplier 接口实现提供的对象。
T orElseThrow(Supplier<? extends X> exceptionSupplier):如果有值则将其返回,否则抛出由Supplier接口实现提供的异常

  3.使用Demo

 /*-------创建对象的形式------*/
        String s = "xiaoGao" ;
        //1. of:只能传入一个具体值,不能传入null,否者出现(空指针异常)java.lang.NullPointerException
        Optional<String> s1 = Optional.of(s);

        //2. ofNullable:可以传入具体值,也可以传入null值
        Optional<String> s2 = Optional.ofNullable(null);

        //3. 创建一个空的Optional对象
        Optional<Object> s3 = Optional.empty();

 

 
posted @ 2023-01-26 12:43  向大海  阅读(94)  评论(0编辑  收藏  举报