如何在Java中生成指向函数的指针数组?
我有很多函数,希望使用数组来调用它们。 我知道如何在C++中做,但不知道如何用java来做。 我的意图代码如下:如何在Java中生成指向函数的指针数组?,java,function-pointers,Java,Function Pointers,我有很多函数,希望使用数组来调用它们。 我知道如何在C++中做,但不知道如何用java来做。 我的意图代码如下: Array<function pointers> functionBook[100]; functionBook.add(function_0); functionBook.add(function_1); . . . functionBook.add(function_99); void functionCaller(int i){ functionBoo
Array<function pointers> functionBook[100];
functionBook.add(function_0);
functionBook.add(function_1);
.
.
.
functionBook.add(function_99);
void functionCaller(int i){
functionBook[i](); // will call function_i()
}
数组函数书[100];
functionBook.add(函数0);
功能书。添加(功能_1);
.
.
.
功能书。添加(功能书99);
无效函数调用程序(int i){
functionBook[i]();//将调用函数
}
尝试使用lambda和功能接口:
public static void main(String[] args) {
List<Runnable> list = List.of(
() -> System.out.println("first"),
() -> System.out.println("second"),
() -> System.out.println("third")
);
list.forEach(Runnable::run);
}
publicstaticvoidmain(字符串[]args){
List=List.of(
()->System.out.println(“第一”),
()->System.out.println(“第二”),
()->System.out.println(“第三个”)
);
list.forEach(Runnable::run);
}
您可以使用任何其他接口,比如可以接受值的函数,或者创建自己的函数接口。Java没有函数指针。它有
@functioninterface
,您可以使用它。搜索它。不要这样做,但您可以通过JNI使用内存地址调用函数。@LppEdd使用巴拿马项目,您甚至不需要编写任何JNI代码。但是Java方法很复杂,因为它们没有固定的地址