codecamp

鸿蒙OS OptionalDouble

OptionalDouble

java.lang.Object

|---java.util.OptionalDouble

public final class OptionalDouble
extends Object

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

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

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

方法总结

修饰符和类型 方法 描述
static OptionalDouble empty() 返回一个空的 OptionalDouble 实例。
boolean equals(Object obj) 指示某个其他对象是否“等于”此 OptionalDouble。
double getAsDouble() 如果此 OptionalDouble 中存在值,则返回该值,否则抛出 NoSuchElementException。
int hashCode() 返回当前值的哈希码值(如果有);如果不存在值,则返回 0(零)。
void ifPresent(DoubleConsumer consumer) 如果存在值,则让指定的使用者接受该值,否则什么也不做。
boolean isPresent() 如果存在值,则返回 true,否则返回 false。
static OptionalDouble of(double value) 返回具有指定值的 OptionalDouble。
double orElse(double other) 如果存在则返回值,否则返回其他值。
double orElseGet(DoubleSupplier other) 如果存在则返回该值,否则调用其他值并返回该调用的结果。
<X extends Throwable>double orElseThrow(Supplier<X> exceptionSupplier) 如果存在,则返回包含的值,否则抛出由提供的供应商创建的异常。
String toString() 返回对象的字符串表示形式。
从类 java.lang.Object 继承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait

方法详情

empty

public static OptionalDouble empty()

返回一个空的 OptionalDouble 实例。 此 OptionalDouble 不存在任何值。

返回:

一个空的 OptionalDouble。

of

public static OptionalDouble of(double value)

返回具有指定值的 OptionalDouble。

参数:

参数名称 参数描述
value 存在的值

返回:

具有当前值的 OptionalDouble

getAsDouble

public double getAsDouble()

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

返回:

此 OptionalDouble 持有的值

Throws:

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

isPresent

public boolean isPresent()

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

返回:

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

ifPresent

public void ifPresent(DoubleConsumer consumer)

如果存在值,则让指定的使用者接受该值,否则什么也不做。

参数:

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

Throws:

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

orElse

public double orElse(double other)

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

参数:

参数名称 参数描述
other 不存在值时要返回的值

返回:

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

orElseGet

public double orElseGet(DoubleSupplier other)

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

参数:

参数名称 参数描述
other 一个 DoubleSupplier,如果不存在值则返回其结果

返回:

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

Throws:

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

orElseThrow

public <X extends Throwable> double orElseThrow(Supplier<X> exceptionSupplier) throws X extends Throwable

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

类型参数:

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

参数:

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

返回:

现在的值

Throws:

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

equals

public boolean equals(Object obj)

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

  • 它也是一个 OptionalDouble 并且;
  • 两个实例都没有价值,或者;
  • 通过 Double.compare() == 0,当前值彼此“相等”。

覆盖:

类 Object 中的等于

参数:

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

返回:

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

hashCode

public int hashCode()

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

覆盖:

类 Object 中的 hashCode

返回:

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

toString

public String toString()

返回对象的字符串表示形式。 通常,toString 方法返回一个“以文本方式表示”该对象的字符串。 结果应该是一个简洁但信息丰富的表示,易于人们阅读。 建议所有子类重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由对象作为实例的类的名称、at 符号字符“@”和对象的哈希码的无符号十六进制表示形式组成。 换句话说,此方法返回一个等于以下值的字符串:

 getClass().getName() + '@' + Integer.toHexString(hashCode()) 

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

覆盖:

类 Object 中的 toString

返回:

此实例的字符串表示形式

鸿蒙OS Optional
鸿蒙OS OptionalInt
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }