我有这段代码:
public Argument0 onlyIf(Predicate<Pair<Entity, Context>> predicate) {
return new Argument0(context -> elements.apply(context)
.map(node -> Pair.of(node, context))
.filter(predicate)
.map(Pair::getLeft));
}
Eclipse在“.filter”方法调用中正好给出了这个错误:
正如您所看到的,错误没有意义,因为基本上“谓词”变量与“过滤器”所需的参数兼容。
predicate type: Predicate< Pair< Entity,Context>>
parameter type: Predicate<? super Pair<? extends Entity,Context>>
我改为IntelliJ并且没有显示错误,并且,当我执行Maven编译项目时,它可以工作。
是否有任何Eclipse配置允许我用完该错误?
Pd积。我无法更改该代码,因为它是一个继承项目,它将暗示整个源代码中的很多更改。