在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方法提供的替代值。