поэтому следующий код:Несоответствие типа с лямбда
scoreCombiner = (Collection<ScoreContainer> subScores) -> subScores.parallelStream()
.mapToInt(ScoreContainer::getScore)
.reduce((a, b) -> a + b);
где scoreCombiner
это поле объявлен
private final ToIntFunction<? super List<? super ScoreContainer>> scoreCombiner;
дает мне ошибку Type mismatch: cannot convert from ToIntFunction<Collection<ScoreContainer>> to ToIntFunction<? super List<? super ScoreContainer>>
, которую я не могу понять. Коллекция определенно является супертипом List, а ScoreContainer, конечно, является супертипом самого себя. Любая помощь будет оценена по достоинству.
Спасибо! Теперь я чувствую себя глупо ... Я должен был понять, что коллекция является продюсером, хотя функция является потребителем. – Dimitriye98