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)
