Błąd "no instance(s) of type variable(s) R exist so that void conforms to R"

0

Dostaje błąd przy aktualizacji używając stream():

response.getData().stream().map(r -> r.setValue(getValueData(r.id))).collect(Collectors.toList()); 

Moja metoda zwraca Stringa

no instance(s) of type variable(s) R exist so that void conforms to R
3

No dokładnie - zobacz sobie sygnaturę metody setValue(..) Twojego typu elementu Data i ma on typ zwracany void. A próbujesz zmapować (czyli przetransformować) obiekt elementu Data na to. Tak nie można xd

Ogólnie nie podam rozwiązania na tacy, polecam na spokojnie zobaczyć i przeanalizować jak wyglądają takie interfejsy funkcyjne jak Supplier, Consumer, Function, Predicate z pakietu java.function. I zobaczyć co przyjmują i co zwracają metody ze Stream API (te najpopularniejsze, czyli właśnie .map, czy .filter).

Jak człowiek poświęci chwilę na analizę tych sygnatur, to potem pisze streamy jak z karabinu maszynowego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1