Eclipse Neon不编译;暧昧的方法

时间:2016-12-06 18:26:04

标签: java eclipse ambiguous eclipse-mars eclipse-neon

我们希望从Eclipse Mars升级到Neon,但我们的项目无法编译。在Mars中,以下代码编译:

public class AmbiguousMWE {

    private <T, C extends Collection<T>> void foo(final C c, final Function<T, T> b) {}

    private <T> void foo(final T t, final Function<T, T> f) {}

    private void test() {
        foo(new ArrayList<>(), this::get);
    }

    private Object get(final Object o) {
        return null;
    }

    private Object get() {
        return null;
    }

}

但是,如果我们删除最后一个get()方法,则由于错误',代码不能编译。方法foo(ArrayList,Function)对于AmbiguousMWE 类型是不明确的。您可以尝试更改方法的顺序,并且可能会遇到不同的编译器行为。

最重要的是,当升级到Eclipse Neon时,总会发生此错误,并且有很多源代码不再编译。

首先,我不知道第二个get()方法与错误有什么关系,其次,可以做些什么来告诉Eclipse仍然编译我们的代码?

感谢任何想法。

0 个答案:

没有答案