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

Java 9에서 Optional.ifPresentOrElse() 메서드를 사용하는 목적은 무엇입니까?


ifPresentOrElse() 개선 선택 사항 의 방법 클래스는 소비자 라는 두 개의 매개변수를 허용합니다. 및 실행 가능 . ifPresentOrElse() 사용 목적 방법은 선택 사항 값을 포함하는 경우 함수 작업은 포함된 값에 대해 호출됩니다. 즉, action.accept(value) , 이는 ifPresent()와 일치합니다. 방법. ifPresent()와의 차이점 메소드는 ifPresentOrElse() 두 번째 매개변수인 emptyAction이 있습니다. . Optional에 값이 없으면 ifPresentOrElse() 메소드 호출 emptyAction , 즉 emptyAction.run() .

구문

public void ifPresentOrElse(Consumer<? super T> action, Runnable emptyAction)

import java.util.Optional;

public class IfPresentOrElseMethodTest {
   public static void main(String args[]) {
      Optional<Integer> optional = Optional.of(1);

      optional.ifPresentOrElse(x -> System.out.println("Value: " + x), () ->
                                    System.out.println("Not Present"));

      optional = Optional.empty();

      optional.ifPresentOrElse(x -> System.out.println("Value: " + x), () ->
                                    System.out.println("Not Present"));
   }
}

출력

Value: 1
Not Present