Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Mục đích sử dụng phương thức Optional.ifPresentOrElse() trong Java 9

Cải tiến của phương thức ifPresentOrElse() trong lớp Optional là chấp nhận hai tham số: Consumer và Runnable. Mục đích sử dụng ifPresentOrElse() là: nếu Optional chứa giá trị, hàm action được gọi trên giá trị đó, tức là action.accept(value), tương thích với phương thức ifPresent(). Khác biệt với ifPresent() là ifPresentOrElse() có tham số thứ hai là emptyAction. Nếu Optional không chứa giá trị, phương thức ifPresentOrElse() gọi emptyAction, tức là emptyAction.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"));
    }
}

Kết quả

Value: 1
Not Present