Java 8传递方法作为参数 [英] Java 8 pass method as parameter
本文介绍了Java 8传递方法作为参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
目前进入Java 8 lambda表达式和方法引用。
Currently getting into Java 8 lambda expressions and method references.
我想传递一个没有args且没有返回值的方法作为另一个方法的参数。这就是我的做法:
I want to pass a method with no args and no return value as argument to another method. This is how I am doing it:
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
例如功能< T,R>
但我没有找到没有参数但没有产生结果的。
I know there is a set of predefined functional interfaces in java.util.function
such as Function<T,R>
but I didn't find one with no arguments and not producing a result.
推荐答案
真的没关系; Runnable
也会这样做。
It really does not matter; Runnable
will do too.
Consumer<Void>,
Supplier<Void>,
Function<Void, Void>
这篇关于Java 8传递方法作为参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文