хочу написать следующий метод:
public Contract search(Predicate<? extends Contract> condition) {
return Arrays.stream(storedContracts).filter(condition).findFirst().orElseThrow();
}
то есть поиск по каким-то различным критериям, и чтобы можно было передавать предикаты параметризованные наследниками, но почему-то не могу, идея выдает ошибку:
"Required type: Predicate <? super Contract>.
Provided: Predicate <capture of ? extends Contract>"
я не понимаю, почему требуемый тип "<? super Contracts>" если я в сигнатуре метода написал "<? extends Contract>"
Так а какой метод ты написал, что такая ошибка вылезает?
Обсуждают сегодня