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