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

เมื่อไหร่ควรใช้เมธอด ofNullable() ของ Stream ใน Java 9

Stream.ofNullable()

Java 9 เพิ่ม static method Stream.ofNullable(T t) คืน Stream ที่มี 1 element ถ้าไม่ใช่ null, ไฉนนั้นคืน Empty Stream

วัตถุประสงค์

  • หลีกเลี่ยง NullPointerException
  • หลีกเลี่ยง null checks แบบ manual
  • รองรับ functional style ใน Stream pipeline

Syntax

static <T> Stream<T> ofNullable(T t)

ตัวอย่าง 1: นับจำนวน Element

Stream.ofNullable(5000).count(); // 1
Stream.ofNullable(null).count();   // 0

ตัวอย่าง 2: ใช้กับ forEach

String str = null;
Stream.ofNullable(str).forEach(System.out::println); // พิมพ์ไม่ไง

str = "TutorialsPoint";
Stream.ofNullable(str).forEach(System.out::println); // พิมพ์ TutorialsPoint

Output

TutorialsPoint

Use Cases

  • รวมเข้ากับ flatMap เพื่อ filter nulls ออกจาก stream
  • แปลงค่าที่อาจเป็น null ให้เป็น stream สำหรับ pipeline
  • 替代 ternary: val != null ? Stream.of(val) : Stream.empty()

สรุป

Stream.ofNullable() เป็น utility method เล็กแต่วิเศษ สำหรับจัดการ null-safety ใน Stream API อย่างเป็น functional