首页 >Java >java教程 >在 Java 中模拟函数指针的最佳方法是什么?

在 Java 中模拟函数指针的最佳方法是什么?

Linda Hamilton
Linda Hamilton原创
2024-12-02 19:57:10886浏览

What's the Best Way to Simulate Function Pointers in Java?

Java 中函数指针的最近替代方案

Java 缺乏函数指针,这在创建执行类似任务但略有不同的方法时提出了挑战。为了解决这个问题,一个合适的替代方法是使用匿名内部类。

匿名内部类解决方案

匿名内部类允许您定义方法,而无需创建单独的命名方法班级。它遵循使用所需方法定义接口并在匿名内部类中实现它的模式。

例如,考虑一个采用字符串作为参数并返回整数的方法。首先,定义一个接口:

interface StringFunction {
    int func(String param);
}

接受指向此函数的指针的方法如下所示:

public void takingMethod(StringFunction sf) {
   int i = sf.func("my string");
   // do whatever ...
}

要调用此方法,请创建一个实现以下功能的匿名内部类接口:

ref.takingMethod(new StringFunction() {
    public int func(String param) {
        // body
    }
});

或者,Java 8 引入了 lambda 表达式,它为此提供了更简洁的语法目的:

ref.takingMethod(param -> bodyExpression);

以上是在 Java 中模拟函数指针的最佳方法是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn