ham*_*est 3 java lambda optional java-8
我们必须从中我们想获取一个特定的项目,在该项目上(过滤器)进行检查SOMETYPE项目的列表,并且如果条件满足,那么检索项目(图)一个特定的字符串类型字段,所有在一个表达式
有关的方法接口如下.一切都很顺利,直到最后一步,我们希望将过滤结果映射Optional<SomeType>到Optional<String>.不幸的是,我们无法确定地图调用所需的语法
public Optional<String> transform(final List<SomeType> aList)
return getAnItemFromTheList(aList)
.filter(someFilterClass::anItemFulfillsCriteria)
.map(???use getAStringTypeFieldFromTheItem() here???);
private Optional<SomeType> getAnItemFromTheList(final List<SomeType> aList) {...
public boolean anItemFulfillsCriteria(final SomeType anItem) {... //in a separate class of filter methods
private Optional<String> getAStringTypeFieldFromTheItem(final SomeType anItem) {...
Run Code Online (Sandbox Code Playgroud)
好吧,如果我理解正确,getAStringTypeFieldFromTheItem将返回一个Optional<String>,因此你将最终Optional<Optional<String>>得到map; 因此,只需使用flatMap而不是map得到Optional<String>结果
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |