Вот мой код:
int []a = {1,2,3,4,5,7};
Arrays.stream(a)
.map((n, i) -> i)
.filter(n -> a[n] % 2 == 1)
.forEach(System.out::println);
Я пытаюсь напечатать ИНДЕКС всех нечетных чисел. Все вроде нормально, кроме карты. Возвращает сообщение об ошибке:
Ошибка: <lambda parameter>
не может быть преобразовано в int.
Я немного понимаю, почему это происходит, но я не знаю, как обойти это.
ПРИМЕЧАНИЕ. Это не то же самое, что ожидание возврата от метода void. Это было неверное понимание дженериков.