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