我们有一个SomeType项的列表,我们想从中检索一个特定的项,对该项执行检查(过滤器),如果满足条件,那么从项(映射)中检索一个特定的字符串类型字段,所有这些都在一个表达式中
Optional<SomeType>
进入之内
Optional<String>
. 不幸的是,我们无法确定map调用所期望的语法
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) {...