2014-12-06 3 views
6

По аналогичной проблеме, описанной в this unanswered question и this other unanswered question, я получаю предупреждение в чтении Eclipse Luna Service Release 1 (4.4.1) (20140925-1800) "(восстановлено) Внутренняя несогласованность обнаруженных при анализе формы лямбда ». Код выглядит следующим образом:Внутренняя несогласованность, обнаруженная при анализе формы лямбда

public static <T> T findFirst(Iterable<T> list, Predicate<T> condition) { 
    /* ... */ 
} 

public static Integer findFirstPrime(Iterable<Integer> integers) { 
    return findFirst(integers, 
      integer -> { 
       /* return either true or false */ 
      } 
    ); 
} 

предупреждение поднимается на чтение текста integer ->. Существует bug report, в котором говорится, что проблема исправлена ​​для Eclipse Mars 4.5, но что я могу сделать за это время? Если я хочу использовать @SuppressWarnings, как я узнаю, какой тип предупреждения поставить?

+1

Часто вы можете получить избавиться от этих предупреждений только с небольшой рукой, чтобы облегчить нагрузку на реализацию вывода типа, например что-то вроде '(Integer integer) -> ...', чтобы убедиться, что он знает, что он делает. –

ответ

5

К сожалению, это не тот тип предупреждения, который вы можете подавить.

По крайней мере, это выглядит как исправление было обратно портирована на выпуск 4.4.2 обслуживания Луны, который должен быть выпущен 27 февраля 2015 года:

https://projects.eclipse.org/projects/eclipse/releases/4.4.2/plan