Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จุดประสงค์ของการใช้วิธี Optional.ifPresentOrElse() ใน Java 9 คืออะไร?


การปรับปรุง ifPresentOrElse() วิธีการใน ตัวเลือก ชั้นคือที่ยอมรับสองพารามิเตอร์ ผู้บริโภค และ รันได้ . จุดประสงค์ของการใช้ ifPresentOrElse() วิธีคือถ้า ไม่บังคับ มีค่า เรียกใช้การทำงานของฟังก์ชันกับค่าที่มีอยู่ เช่น action.accept (ค่า) ซึ่งสอดคล้องกับ ifPresent() กระบวนการ. ความแตกต่างจาก ifPresent() วิธีก็คือ ifPresentOrElse() มีพารามิเตอร์ที่สอง emptyAction . หากตัวเลือกไม่มีค่า ดังนั้น 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