선택 사항 클래스는 null이 아닌 포함하거나 포함하지 않을 수 있는 컨테이너를 제공합니다. 값. NullPointerException 이 발생하는 코드의 위치 수를 줄이기 위해 Java 8에 도입되었습니다. 생성했습니다. Java 9에는 세 가지 메소드가 추가되었습니다. ifPresentOrElse() , o r() 및 stream() , 기본값을 처리하는 데 도움이 됩니다.
아래 예에서는 Person 을 사용하여 Optional 클래스에서 스트림을 가져올 수 있습니다. 수업
예
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