java.util.Optional<T>
、java.util.OptionalDouble
、java.util.OptionalInt
、java.util.OptionalLong
或 com.google.common.base.Optional
用为字段或参数的类型的任何情况。
Optional
设计为在需要一个明确的方式来表示 "没有结果"的情况下,为库方法的返回类型提供有限的机制。
如果类需要 Serializable
,则使用 java.util.Optional
类型的字段也有问题,因为 java.util.Optional
不可序列化。
示例:
class MyClass {
Optional<String> name; // Optional 字段
// Optional 参数
void setName(Optional<String> name) {
this.name = name;
}
}
2016.1 的新功能