В настоящее время вы попадаете в Java лямбда-выражения и ссылки на методы.
Я хочу передать метод без аргументов и никакого возвращаемого значения в качестве аргумента другому методу. Вот как я это делаю:
public void one() {
System.out.println("one()");
}
public void pass() {
run(this::one);
}
public void run(final Function function) {
function.call();
}
@FunctionalInterface
interface Function {
void call();
}
Я знаю, что существует набор предопределенных функциональных интерфейсов в java.util.function
, например Function<T,R>
, но я не нашел ни одного аргумента без аргументов и не создавал результат.