我想将一个函数作为参数传递给另一个函数。例如:
void myFunction(boolean coondition, void function())
{
if(condition) {
function();
}
}
这在 Java 8 中可能吗?
最佳答案
不,你不能传递方法。
但是有一个简单的解决方法:传递一个 Runnable。
void myFunction(boolean coondition, Runnable function)
{
if(condition) {
function.run();
}
}
并这样调用它:(使用旧语法)
myFunction(condition, new Runnable() {
@Override
public void run() {
otherFunction();
}
});
或使用 Java 8 中新的 lambda 语法(主要是上述语法的简写):
myFunction(condition, () -> {otherFunction();}}
关于java - 如何将一个函数作为参数传递给另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29222070/