2014-12-06 18 views
6

W podobnym problemie jak opisano w this unanswered question i this other unanswered question, otrzymuję ostrzeżenie w czytaniu usługi Eclipse Luna Service Release 1 (4.4.1) (20140925-1800), "(Odzyskane) Wewnętrzna niespójność wykryte podczas analizy kształtu lambda ". Kod jest w następujący sposób:Wykryto wewnętrzną niespójność podczas analizy kształtu lambda

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 */ 
      } 
    ); 
} 

Ostrzeżenie jest podniesiony na czytaniu tekstu integer ->. Jest bug report, stwierdzając, że problem został rozwiązany dla Eclipse Mars 4.5, ale co mogę zrobić w międzyczasie? Jeśli chcę użyć numeru @SuppressWarnings, to skąd mam wiedzieć, jaki typ ostrzeżenia należy podać?

+1

Często można dostać pozbyć się tych ostrzeżeń za pomocą niewielkiego trzymania ręki, aby zmniejszyć obciążenie dla implementacji wnioskowania typu, np coś jak '(Integer integer) -> ...', aby upewnić się, że wie, co robi. –

Odpowiedz

Powiązane problemy