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

จะรับสตรีมจากคลาสเสริมใน Java 9 ได้อย่างไร


ตัวเลือก ตัวเลือก class จัดเตรียมคอนเทนเนอร์ที่อาจมีหรือไม่มี non-null ค่า. ได้รับการแนะนำใน Java 8 เพื่อลดจำนวนตำแหน่งในโค้ดที่ NullPointerException ได้สร้างขึ้น Java 9 เพิ่มสามวิธี:ifPresentOrElse() ,โอ() และ สตรีม() ซึ่งช่วยให้เราจัดการกับค่าเริ่มต้นได้

ในตัวอย่างด้านล่าง เราสามารถรับสตรีมจากคลาสเสริมโดยใช้ บุคคล คลาส

ตัวอย่าง

import java.util.Optional;
import java.util.stream.Stream;

public class OptionalTest {
   public static void main(String args[]) {
      getPerson().stream()
                 .map(Person::getName)
                 .map("Jai "::concat)
                 .forEach(System.out::println);

      getEmptyPerson().stream()
                      .map(Person::getName)
                      .map("Jai "::concat)
                      .forEach(System.out::println);
   }
   private static Optional<Person> getEmptyPerson() {
      return Optional.empty();
   }
   private static Optional<Person> getPerson() {
      return Optional.of(new Person("Adithya"));
   }
   static class Person {
      private String name;
      public Person(String name) {
         this.name = name;
      }
      public String getName() {
         return name;
      }
      public void setName(String name) {
         this.name = name;
      }
   }
}

ผลลัพธ์

Jai Adithya