Итак, я пытаюсь передать функцию для выполнения операции над значением int [x].
Итак, это мой метод:
public void apply(int index, UnaryOperator<Integer> func) {
V[index] = func.apply(V[index]);
}
Это работает:
register.apply(0, new UnaryOperator<Integer>() {
@Override
public Integer apply(Integer x) {
return x & 6;
}
});
и это работает:
UnaryOperator<Integer> func = x -> x & 6;
register.apply(0, func);
Но это дает мне ошибку компиляции:
register.apply(0, x -> x & 6);
"Оператор & не может быть применен к Java.lang.Object, int "
Компилятор не может определить тип, даже если он определен в объявлении метода UnaryOperator<Integer>
Что яотсутствует?я слепой?или это просто не работает в Java?
Я использую Intellij CE Edition 2019.1.2 и OpenJDK 11.0.1 на MacBook.