在Java中,可以使用接口和函数式接口来将函数作为方法参数传递,尤其适用于当我们不能更改原始函数时。
示例代码如下:
// 定义一个接口
interface MyFunction {
void doSomething();
}
// 创建一个接收接口作为参数的方法
public void performAction(MyFunction function) {
// 调用接口的方法
function.doSomething();
}
// 调用performAction方法,并传递函数作为参数
public void doSomethingElse() {
performAction(new MyFunction() {
@Override
public void doSomething() {
// 执行原始函数的逻辑
// ...
}
});
}
示例代码如下:
// 定义一个函数式接口
@FunctionalInterface
interface MyFunction {
void doSomething();
}
// 创建一个接收函数式接口作为参数的方法
public void performAction(MyFunction function) {
// 调用函数式接口的方法
function.doSomething();
}
// 调用performAction方法,并传递函数作为参数
public void doSomethingElse() {
performAction(() -> {
// 执行原始函数的逻辑
// ...
});
}
无论是使用接口还是函数式接口,都可以实现在Java中将函数作为方法参数传递的需求。关于函数式接口的更多信息,可以参考Java官方文档中的介绍:Functional Interfaces。
领取专属 10元无门槛券
手把手带您无忧上云