Eclipse:Generic Predicates编译错误

时间:2018-03-21 23:22:58

标签: java eclipse java-stream predicate

我有这段代码:

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”方法调用中正好给出了这个错误:

See image

正如您所看到的,错误没有意义,因为基本上“谓词”变量与“过滤器”所需的参数兼容。

predicate type: Predicate<        Pair<          Entity,Context>>
parameter type: Predicate<? super Pair<? extends Entity,Context>>

我改为IntelliJ并且没有显示错误,并且,当我执行Maven编译项目时,它可以工作。

是否有任何Eclipse配置允许我用完该错误?

Pd积。我无法更改该代码,因为它是一个继承项目,它将暗示整个源代码中的很多更改。

0 个答案:

没有答案