Computer >> Máy Tính >  >> Lập trình >> Java

Mục đích của việc sử dụng phương thức Optional.ifPresentOrElse () trong Java 9 là gì?


Cải tiến của ifPresentOrElse () trong Tùy chọn lớp chấp nhận hai tham số, Người tiêu dùng Runnable . Mục đích của việc sử dụng ifPresentOrElse () phương pháp đó là nếu một Tùy chọn chứa một giá trị, hành động hàm được gọi trên giá trị được chứa, tức là action.accept (giá trị) , phù hợp với ifPresent () phương pháp. Sự khác biệt so với ifPresent () ifPresentOrElse () có tham số thứ hai, blankAction . Nếu Tùy chọn không chứa giá trị thì ifPresentOrElse () lệnh gọi phương thức voidAction , tức là blankAction.run () .

Cú pháp

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

Ví dụ

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"));
   }
}

Đầu ra

Value: 1
Not Present