import java.util.Optional;
public class Student {
public long id;
public String firstName;
public Optional<String> middleName;
public String lastName;
.
.
.
public Optional<String> getMiddleName() {
return middleName;
}
}
Student student = new Student();
if (student.getMiddleName().isPresent()) {
System.out.println(student.getMiddleName().get());
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将获得一个,NullPointerException因为Optional类成员值的默认值为null.应该是默认值Optional.empty()吗?
不,它不应该.Optional是与任何其他类似的引用类型,并且默认为相同规则的null.如果要将其初始化为空,则必须明确地执行此操作:
public Optional<String> middleName = Optional.empty();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1306 次 |
| 最近记录: |