在使用Optional时,可以通过使用orElse方法来设置默认值。orElse方法接受一个Supplier类型的参数,用于在Optional为空时提供默认值。如果Optional对象不为空,则返回Optional对象的值;如果Optional对象为空,则返回Supplier提供的默认值。
下面是一个示例代码:
Optional<String> optionalValue = Optional.empty();
String defaultValue = "Default Value";
String result = optionalValue.orElse(defaultValue);
System.out.println(result); // 输出:Default Value
在上述代码中,optionalValue是一个空的Optional对象,defaultValue是设置的默认值。通过调用orElse方法,如果optionalValue为空,则返回defaultValue作为结果。
除了orElse方法,还可以使用orElseGet方法来设置默认值。与orElse方法不同的是,orElseGet方法接受一个Supplier类型的参数,用于在Optional为空时提供默认值。与orElse方法相比,orElseGet方法的参数是一个延迟执行的Supplier,可以在需要时才计算默认值。
下面是使用orElseGet方法的示例代码:
Optional<String> optionalValue = Optional.empty();
String defaultValue = "Default Value";
String result = optionalValue.orElseGet(() -> defaultValue);
System.out.println(result); // 输出:Default Value
在上述代码中,optionalValue是一个空的Optional对象,defaultValue是设置的默认值。通过调用orElseGet方法,如果optionalValue为空,则通过lambda表达式提供的Supplier计算并返回defaultValue作为结果。
总结起来,使用Optional时,可以通过orElse或orElseGet方法来设置默认值。orElse方法接受一个直接提供默认值的参数,而orElseGet方法接受一个延迟执行的Supplier参数,可以在需要时才计算默认值。根据具体的场景选择合适的方法来设置默认值。
腾讯云相关产品:无
参考链接:无
领取专属 10元无门槛券
手把手带您无忧上云