介绍
得到无Tvalue为空抛出NoSuchElementException异常
isPresent无booleanvalue为零则返回falseifPresentConsumer<?超级T>空白如果可选实例有值则为其调用消费者,否则不做处理filterPredicate<?超级T> Optional< T>如果值存在并且满足提供的谓词,就返回包括该值的可选的对象,否则返回一个空的可选的对象mapFunction<?超级T, ?扩展标签;Optional<标签;如果值存在,就对该值执行提供的映射函数调用,返回Optional<标签;对象flatMapFunction<?超级T, Optional<标签;祝辞Optional<标签;如果值存在,就对该值执行提供的映射函数调用,返回非零可选的对象orElseTT如果有值则将其返回,否则返回一个默认值orElseGetSupplier<?扩展T> T如果有值则将其返回,否则返回一个由指定的供应商接口生成的值orElseThrowSupplier<?扩展X> & lt; X扩展Throwable>如果有值则将其返回,否则抛出一个由指定的供应商接口生成的异常
怎么在JAVA中使用可选类?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
可选在JAVA中被定义为一个容器类,更确切的说只存一个元素的容器。
容器对象可能会或可能不会包含一个非空值。
可选类结构选属性
可选类中包含两个属性:
类属性:空对象属性:值
空属性用来存放一个值为零的可选的对象。
价值属性用来存放非零对象。
可选方法
可选的有两个构造方法,都被私人修饰。
private 可选(),{ 时间=this.value 才能;零; } private 可选(T 价值),{ 时间=this.value 才能;Objects.requireNonNull(价值); }
无参构造方法用来初始化空的。有参构造方法用来初始化非零对象。
因为构造方法被修饰为私有的,可选想要实例化对象只能通过类方法调用.Optional提供三个类方法。
空:返回值为null的可选的对象:返回值非零的可选的对象ofNullable:值的值根据参数是否为零返回对应的可选的对象
public static, Optional ,空(),{ Optional<才能;T>, t =, (Optional ,, (T 价值),{ return 才能new Optional<祝辞(价值); } public static & lt; T>, Optional , ofNullable (T 价值),{ return 才能;value ==, null ?,空(),:,(价值); }
实例方法介绍
方法参数类型返回类型说明得到无Tvalue为空抛出NoSuchElementException异常
isPresent无booleanvalue为零则返回falseifPresentConsumer<?超级T>空白如果可选实例有值则为其调用消费者,否则不做处理filterPredicate<?超级T> Optional< T>如果值存在并且满足提供的谓词,就返回包括该值的可选的对象,否则返回一个空的可选的对象mapFunction<?超级T, ?扩展标签;Optional<标签;如果值存在,就对该值执行提供的映射函数调用,返回Optional<标签;对象flatMapFunction<?超级T, Optional<标签;祝辞Optional<标签;如果值存在,就对该值执行提供的映射函数调用,返回非零可选的对象orElseTT如果有值则将其返回,否则返回一个默认值orElseGetSupplier<?扩展T> T如果有值则将其返回,否则返回一个由指定的供应商接口生成的值orElseThrowSupplier<?扩展X> & lt; X扩展Throwable>如果有值则将其返回,否则抛出一个由指定的供应商接口生成的异常