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中文网其他相关文章!