Java OptionalDouble orElseGet()方法及示例
orElseGet(java.util.function.DoubleSupplier) 方法帮助我们获得这个OptionalDouble对象中的值。如果这个OptionalDouble对象中不存在一个值,那么这个方法就会返回作为参数传递的供应函数所产生的结果 。
public double orElseGet(DoubleSupplier supplier)
参数: 该方法接受产生一个要返回的值的供应函数。
返回值: 如果存在,该方法返回双倍值,否则返回供应函数产生的结果。
异常: 如果没有值并且供应函数为空,该方法抛出 NullPodoubleerException 。下面的程序说明了orElseGet( java.util.function.DoubleSupplier )方法:
程序1 :
// Java program to demonstrate
// OptionalDouble.orElseGet(DoubleSupplier) method
import java.util.OptionalDouble;
public class GFG {
public static void main(String[] args)
{
// create a OptionalDouble
OptionalDouble opdouble = OptionalDouble.of(2134);
// get value using orElseGet
double value = opdouble.orElseGet(() -> getdoubleValue());
// print double value
System.out.println("value: " + value);
}
public static double getdoubleValue()
{
return 3242 + 123;
}
}
输出
value: 2134.0
程序2
// Java program to demonstrate
// OptionalDouble.orElseGet(DoubleSupplier) method
import java.util.OptionalDouble;
public class GFG {
public static void main(String[] args)
{
// create a OptionalDouble
OptionalDouble opdouble = OptionalDouble.empty();
// get value using orElseGet
double value = opdouble.orElseGet(() -> getdoubleValue());
// print double value
System.out.println("value: " + value);
}
public static double getdoubleValue()
{
return 3242 * 234;
}
}
输出
value: 758628.0
**参考资料: ** https://docs.oracle.com/javase/10/docs/api/java/util/OptionalDouble.html#orElseGet(java.util.function.DoubleSupplier)