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