📅  最后修改于: 2023-12-03 15:16:25.768000             🧑  作者: Mango
在Java 8中,引入了Optional类,用于解决null值的问题,避免了空指针异常的产生。在Optional类中,还有一些方法可以用于判断Optional对象是否为空或存在值。其中一个方法就是ifPresentOrElse()。
ifPresentOrElse()方法接收两个参数:一个Consumer对象和一个Runnable对象。如果OptionalLong对象存在值,则执行Consumer对象的操作;否则执行Runnable对象的操作。
方法定义如下:
public void ifPresentOrElse(LongConsumer action, Runnable emptyAction)
下面的示例展示了如何使用ifPresentOrElse()方法来处理OptionalLong对象。
import java.util.OptionalLong;
public class OptionalLongExample {
public static void main(String[] args) {
// 创建一个OptionalLong对象,包含一个值
OptionalLong optional = OptionalLong.of(5);
// 使用ifPresentOrElse方法,如果值存在,则打印该值;否则,打印"Value is not present"
optional.ifPresentOrElse(System.out::println, () -> System.out.println("Value is not present"));
// 创建一个空的OptionalLong对象
OptionalLong emptyOptional = OptionalLong.empty();
// 使用ifPresentOrElse方法,如果值存在,则打印该值;否则,打印"Value is not present"
emptyOptional.ifPresentOrElse(System.out::println, () -> System.out.println("Value is not present"));
}
}
输出:
5
Value is not present
上述代码中,我们首先创建了一个OptionalLong对象,包含一个值。然后使用ifPresentOrElse()方法来判断是否存在值,并执行对应的操作。
接着,我们创建了一个空的OptionalLong对象,并使用ifPresentOrElse()方法对其进行操作,结果输出了"Value is not present"。
总之,通过ifPresentOrElse()方法,我们可以更方便地处理OptionalLong对象,避免了空指针异常的产生。