【发布时间】:2019-09-02 17:13:32
【问题描述】:
当我想使用 lambda 调用另一个 Service.java 中的方法,然后将其用作决定返回值的条件时。它总是在 lambda 中表示“意外的返回值”。怎么退货?
public SortOrder transform(SortOrder sort, String abc) {
if (sort == null) {
return SortOrder.A;
} else if (sort.equals(SortOrder.B) && abc != null) {
return AnotherService.getString(abc)
.map(l -> l.ifPresent(m -> {
if (m.getName().equals("name")) {
return SortOrder.C; //ERROR: unexpected return value
}
return sort; //ERROR: unexpected return value
}));
} else {
return sort;
}
return sort;
}
【问题讨论】:
-
AnotherService.getString(abc)的返回类型是什么? -
@Naman AnotherService.getString 将返回一个任务
>