【发布时间】:2014-12-17 09:52:21
【问题描述】:
让我们考虑下面的类
class A{
void met(int i){
//do somthing
}
}
假设我们有一个此类的可选对象,例如:
Optional<A> a;
是否可以在对象a 上调用方法met 而无需检查a 是指完整对象还是空对象(null)。比如:
a.map(A::met(5));
很遗憾,这段代码无法编译。如何做到这一点?
【问题讨论】:
-
当 a 为空时你期望会发生什么?
-
方法不会被调用
-
就好像这行代码
a.map(A::met(5));不存在