private List<BaseIcon> filterIconsToChangeByPositions(List<BaseIcon> baseIcons, List<Integer> positions) {
return baseIcons.stream()
.filter(baseIcon -> pred(positions))
.collect(Collectors.toList());
}
private Predicate<BaseIcon> pred(List<Integer> positions) {
return baseIcon -> positions.stream().anyMatch(pos -> pos == baseIcon.getPositionOnGameField());
}
не могу понять почему не компилится данныек код ведь типо пишет что у лмбд плохой тип
Вы пишете в фильтре ещё одну лямбду вызывающую вашу функцию. Просто передайте в него её.
.filter(pred(positions))
Сборка персонального компьютера от Artline: умный выбор для современных пользователей