可选 类提供了可以或可以不包含一个容器非空值。它已在Java 8中引入,以减少代码中已生成NullPointerException 的位数。Java的9增加了三个方法:ifPresentOrElse() , Ô [R (),和流() ,这有助于我们处理的默认值。
在下面的示例中,我们可以使用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