📅  最后修改于: 2023-12-03 15:01:56.220000             🧑  作者: Mango
在Java 8中,引入了一个新的特性叫做Optional类。Optional类是一种容器对象,可以包含NULL或者NON-NULL的值。OptionalDouble是Optional的一个子类,用来存储double类型的值。
OptionalDouble的of(double)方法用来创建一个非空的OptionalDouble对象。具体的使用方法和示例如下:
OptionalDouble optionalDouble = OptionalDouble.of(3.14);
if (optionalDouble.isPresent()) {
double value = optionalDouble.getAsDouble();
System.out.println("optionalDouble的值为:" + value);
} else {
System.out.println("optionalDouble为空");
}
代码解释:
创建一个OptionalDouble对象,存储值为3.14。
使用isPresent()方法判断OptionalDouble对象是否为空。如果不为空,则使用getAsDouble()方法获取OptionalDouble对象中的值。
输出OptionalDouble对象中存储的值。
运行结果为:optionalDouble的值为:3.14
需要注意的是,如果使用of(double)方法创建OptionalDouble对象时,传入的参数为NULL,则会抛出NullPointerException异常。因此,在使用of(double)方法创建OptionalDouble对象时,必须保证传入的参数非空。
此外,OptionalDouble类还提供了大量的方法,例如:orElse(double defaultValue)、orElseGet(DoubleSupplier other)、orElseThrow(Supplier<? extends X> exceptionSupplier)等。可以根据具体需求进行选择。