Причина, по которой ваш код не работает, заключается в том, что вы пытаетесь присвоить результат forEach списку, который в вашем случае является недействительным.Поскольку forEach будет запускать и печатать элементы и ничего не возвращать, вы получите ошибку.
Arrays.asList(valuesArray).stream().filter(x -> (x % 2 == 0)).forEach(i -> `System.out.println(i + " "));`
Если вы измените свой код и удалите операцию присваивания, ошибка должна исчезнуть.
Изменить как вопрос был обновлен.
Код ниже работает, потому что;
List <Integer> number = Arrays.asList(2,3,4,5); number.stream().map(x->(x*x)).forEach(y->System.out.println(y));
Здесь, в первой строке, вы присваиваете значения в списке.
List <Integer> number = Arrays.asList(2,3,4,5);
Здесь, во второй строке, теперь, когда в списке уже есть значения, вы просто перебираете каждое из них и печатаете.
number.stream().map(x->(x*x)).forEach(y->System.out.println(y));