可选类提供了可以或可以不包含一个容器非空值。它已在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 getEmptyPerson() {
return Optional.empty();
}
private static Optional 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