Java 9에서는 정적 메서드가 거의 없습니다. stream() 또는() 및 ifPresentOrElse() 선택 사항
Optional.or() 메소드는 선택 사항 을 반환합니다. 값이 있으면 값을 설명하고, 그렇지 않으면 제공하는 함수에 의해 생성된 Optional을 반환합니다.
구문
public Optional<T> or(Supplier<? extends Optional<? extends T>> supplier)
예
import java.util.Optional;
import java.util.function.Supplier;
public class OptionalOrTest {
public static void main(String args[]) {
Optional<String> optional = Optional.of("TutorialsPoint");
Supplier<Optional<String>> supplierString = () -> Optional.of("Not Present");
optional = optional.or(supplierString);
optional.ifPresent(x -> System.out.println("Value: " + x));
optional = Optional.empty();
optional = optional.or(supplierString);
optional.ifPresent(x -> System.out.println("Value: " + x));
}
} 출력
Value: TutorialsPoint Value: Not Present