创新互联鸿蒙OS教程:鸿蒙OSOptional

Optional

创新互联专注于企业网络营销推广、网站重做改版、江山网站定制设计、自适应品牌网站建设、H5页面制作商城网站建设、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为江山等各大城市提供网站开发制作服务。

java.lang.Object

|---java.util.Optional

public final class Optional
extends Object

一个容器对象,可能包含也可能不包含非空值。 如果存在值,isPresent() 将返回 true,而 get() 将返回该值。

提供了依赖于包含值是否存在的其他方法,例如 orElse() (如果值不存在则返回默认值)和 ifPresent() (如果值存在则执行代码块)。

这是一个基于值的类; 在 Optional 的实例上使用身份敏感操作(包括引用相等 (==)、身份哈希码或同步)可能会产生不可预知的结果,应该避免。

方法总结

修饰符和类型 方法 描述
static  Optionalempty()返回一个空的可选实例。
booleanequals(Object obj)指示某个其他对象是否“equal”此 Optional。
OptionalTfilter(Predicate predicate)如果存在一个值,并且该值与给定的谓词匹配,则返回一个描述该值的 Optional,否则返回一个空的 Optional。
 OptionalflatMap(Function> mapper)如果存在值,则将提供的 Optional-bearing 映射函数应用于它,返回该结果,否则返回空 Optional。
Tget()如果此 Optional 中存在值,则返回该值,否则抛出 NoSuchElementException。
inthashCode()返回当前值的哈希码值(如果有);如果不存在值,则返回 0(zero)。
voidifPresent(Consumer consumer)如果存在值,则使用该值调用指定的使用者,否则不执行任何操作。
booleanisPresent()如果存在值,则返回 true,否则返回 false。
 Optionalmap(Function mapper)如果存在值,则对其应用提供的映射函数,如果结果为非 null,则返回描述结果的 Optional。
static  Optionalof(T value)返回具有指定当前非空值的 Optional。
static  OptionalofNullable(T value)返回一个描述指定值的 Optional,如果非 null,否则返回一个空 Optional。
TorElse(T other)如果存在则返回值,否则返回其他值。
TorElseGet(Supplier other)如果存在则返回该值,否则调用其他值并返回该调用的结果。
TorElseThrow(Supplier exceptionSupplier)如果存在,则返回包含的值,否则抛出由提供的供应商创建的异常。
StringtoString()返回此 Optional 适合调试的非空字符串表示形式。
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

方法详情

empty

public static Optional empty()

返回一个空的可选实例。 此 Optional 没有值。

类型参数:

类型参数名称 类型参数描述
T不存在值的类型

返回:

一个空的 Optional

of

public static Optional of(T value)

返回具有指定当前非空值的 Optional。

类型参数:

类型参数名称 类型参数描述
T值的类别

参数:

参数名称 参数描述
value要存在的值,它必须是非空的

返回:

一个含有该值的 Optional

Throws:

Throw名称 Throw描述
NullPointerException如果 value 为空

ofNullable

public static Optional ofNullable(T value)

返回一个描述指定值的 Optional,如果非 null,否则返回一个空 Optional。

类型参数:

类型参数名称 类型参数描述
T值的类别

参数:

参数名称 参数描述
value要描述的可能为空的值

返回:

如果指定值为非空,则为具有当前值的 Optional,否则为空 Optional

get

public T get()

如果此 Optional 中存在值,则返回该值,否则抛出 NoSuchElementException。

返回:

此 Optional 持有的非空值

Throws:

Throw名称 Throw描述
NoSuchElementException如果不存在 value

isPresent

public boolean isPresent()

如果存在值,则返回 true,否则返回 false。

返回:

如果存在值,则为 true,否则为 false

ifPresent

public void ifPresent(Consumer consumer)

如果存在值,则使用该值调用指定的使用者,否则不执行任何操作。

参数:

参数名称 参数描述
consumer如果存在值则执行块

Throws:

Throw名称 Throw描述
NullPointerException如果值存在且 consumer 为空

filter

public OptionalT filter(Predicate predicate)

如果存在一个值,并且该值与给定的谓词匹配,则返回一个描述该值的 Optional,否则返回一个空的 Optional。

参数:

参数名称 参数描述
predicate应用于值的谓词(如果存在)

返回:

如果存在值并且该值与给定谓词匹配,则描述此 Optional 的值的 Optional,否则为空 Optional

Throws:

Throw名称 Throw描述
NullPointerException如果 predicate 为空

map

public Optional map(Function mapper)

如果存在值,则对其应用提供的映射函数,如果结果为非 null,则返回描述结果的 Optional。 否则返回一个空的 Optional。

类型参数:

类型参数名称 类型参数描述
U映射函数结果的类型

参数:

参数名称 参数描述
mapper应用于值的映射函数(如果存在)

返回:

Optional 描述将映射函数应用于此 Optional 的值的结果,如果存在值,否则为空 Optional

Throws:

Throw名称 Throw描述
NullPointerException如果映射函数为空

flatMap

public Optional flatMap(Function> mapper)

如果存在值,则将提供的 Optional-bearing 映射函数应用于它,返回该结果,否则返回空 Optional。 此方法类似于 map(java.util.function.Function),但提供的映射器是其结果已经是 Optional 的映射器,如果被调用,flatMap 不会用额外的 Optional 包装它。

类型参数:

类型参数名称 类型参数描述
UOptional 返回的类型参数

参数:

参数名称 参数描述
mapper应用于值的映射函数,如果存在映射函数

返回:

如果存在值,则将 Optional-bearing 映射函数应用于此 Optional 的值的结果,否则为空 Optional

Throws:

Throw名称 Throw描述
NullPointerException如果映射函数为 null 或返回 null 结果

orElse

public T orElse(T other)

如果存在则返回值,否则返回其他值。

参数:

参数名称 参数描述
other如果不存在值,则要返回的值,可以为 null

返回:

该值(如果存在),否则为其他

orElseGet

public T orElseGet(Supplier other)

如果存在则返回该值,否则调用其他值并返回该调用的结果。

参数:

参数名称 参数描述
other如果不存在值,则返回其结果的供应商

返回:

该值如果存在,否则为 other.get() 的结果

Throws:

Throw名称 Throw描述
NullPointerException如果 value 不存在并且 other 为 null

orElseThrow

public T orElseThrow(Supplier exceptionSupplier) throws X extends Throwable

如果存在,则返回包含的值,否则抛出由提供的供应商创建的异常。

类型参数:

类型参数名称 类型参数描述
X要抛出的异常的类型

参数:

参数名称 参数描述
exceptionSupplier将返回要抛出的异常的供应商

返回:

现在的值

Throws:

Throw名称 Throw描述
X如果不存在值
NullPointerException如果不存在任何值且 exceptionSupplier 为 null
X extends Throwable

equals

public boolean equals(Object obj)

指示某个其他对象是否“等于”此 Optional。 如果满足以下条件,则认为另一个对象相等:

  • 它也是一个可选的并且;
  • 两个实例都没有价值,或者;
  • 当前值通过 equals() 彼此“相等”。

覆盖:

类 Object 中的等于

参数:

参数名称 参数描述
obj要测试是否相等的对象

返回:

{code true} 如果另一个对象“等于”这个对象,否则为 false

hashCode

public int hashCode()

返回当前值的哈希码值(如果有);如果不存在值,则返回 0(零)。

覆盖:

类 Object 中的 hashCode

返回:

当前值的哈希码值,如果不存在值,则为 0

toString

public String toString()

返回此 Optional 适合调试的非空字符串表示形式。 确切的表示格式未指定,并且可能因实现和版本而异。

覆盖:

类 Object 中的 toString

返回:

此实例的字符串表示形式

标题名称:创新互联鸿蒙OS教程:鸿蒙OSOptional
网站网址:http://www.gawzjz.com/qtweb/news45/189445.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联