Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 9에서 Optional.or() 메서드의 중요성?


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