在Java中,isPresent / get方法是用来检查和获取Optional实例中的值的常用方法。然而,这种方式并不总是可取,因为它们可能会导致空指针异常,同时这也可能会降低代码的可读性和可维护性。
为了避免使用isPresent / get方法,可以使用orElse / orElseGet方法来处理Optional实例中的值。这种方式可以在Optional为空时提供默认值,或者使用lambda表达式来提供默认值,同时避免了可能存在的空指针异常。
以下代码示例演示了如何避免使用isPresent / get方法:
// 创建Optional实例
Optional
// 检查Optional实例是否为空,并提供默认值 String stringValue = optionalString.orElse("default value");
// 使用lambda表达式提供默认值 String anotherStringValue = optionalString.orElseGet(() -> "default value");
// 如果Optional实例不为空,则执行一些操作 optionalString.ifPresent(value -> { System.out.println("Value is present: " + value); });
需要注意的是,orElse / orElseGet方法只会在Optional实例为空时才会提供默认值,否则会返回实例中的值。因此,在使用这种方式时,需要仔细考虑提供的默认值是否合适。