ham*_*est 1 java lambda optional java-8
我们有一种方法,其中我们接收一个Optional<SomeType>对象.如果包含的SomeType对象不为null,那么我们必须SomeOtherType使用对象的字段初始化SomeType对象并返回该新对象; 否则我们必须返回null
我们找到了多个不同的解决方案,我们用两个语句执行此任务,首先检索可选对象,然后再创建另一个类型对象,例如
private SomeOtherType ourMethod() {
SomeType someObject = getOptionalSomeTypeFromSomeWhere().orElse(null);
return someObject != null ? new SomeOtherType(someObject.getField1(), someObject.getField2(), ...) : null;
}
Run Code Online (Sandbox Code Playgroud)
有可能用一个陈述来涵盖这个吗?到目前为止,我们无法进行空检查,访问字段,创建新对象等
基本上这个问题的一个更复杂的情况:获取可选对象的字段或返回null
用途Optional.map:
return getOptionalSomeTypeFromSomeWhere()
.map(someObject -> new SomeOtherType(someObject.getField1(), someObject.getField2(), ...)
.orElse(null);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |