我们有一个方法,其中我们收到一个@NgModule({
declarations: [
AppComponent,
MainComponent
],
imports: [
AppRoutingModule
]
})
export class AppModule {}
对象。如果所包含的Optional<SomeType>
对象不为null,则必须使用SomeType
对象的字段初始化SomeOtherType
对象,并返回该新对象;否则我们必须返回null
我们发现了多个不同的解决方案,其中我们用两条语句执行此任务,首先检索可选对象,然后再创建另一个类型对象,例如
SomeType
有可能用一个陈述来涵盖吗?到目前为止,我们还无法确定是否进行空检查,访问字段,创建新对象等等。
此问题的更复杂的情况:Get field of optional object or return null
答案 0 :(得分:8)
使用Optional.map
:
return getOptionalSomeTypeFromSomeWhere()
.map(someObject -> new SomeOtherType(someObject.getField1(), someObject.getField2(), ...)
.orElse(null);