Eclipse Neon не компилируется; неоднозначные методы

мы хотим обновить с Eclipse Mars до Neon, но наши проекты не компилируются. В Марсе следующий код компилируется:

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 еще компилировать наш код?

Спасибо за любые идеи.

java,eclipse,ambiguous,eclipse-mars,eclipse-neon,

4

Ответов: 0

Eclipse Neon не компилируется; неоднозначные методы

мы хотим обновить с Eclipse Mars до Neon, но наши проекты не компилируются. В Марсе следующий код компилируется:

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 еще компилировать наш код?

Спасибо за любые идеи.

04Java, затмение, неоднозначный, затмение-марс, затмение-неон,
Похожие вопросы