在Java中,可以使用Optional类来避免Supplier接口返回null值的问题。Optional类是一个容器对象,可以包含null或非null值。当使用Supplier接口返回值时,可以将返回值包装在Optional对象中,然后在使用时检查是否为null。
例如,可以使用Optional的ofNullable方法将Supplier接口返回值包装在Optional对象中,并使用orElse方法提供一个替代值:
Supplier<String> supplier = () -> {
// return null; // return null value
return "Hello"; // return non-null value
};
Optional<String> optionalValue = Optional.ofNullable(supplier.get());
String value = optionalValue.orElse("Default value");
System.out.println(value);
在这个例子中,如果Supplier接口返回null值,则Optional对象中的值将为null,然后使用orElse方法将提供一个替代值,避免返回null。如果Supplier接口返回非null值,则Optional对象中的值为非null值,不会使用orElse方法提供的替代值。