我有一个很大的问题,我真的不知道解决方案,经过数小时的寻找和尝试之后,我似乎无法解决...
我想要一个内部带有方法的数组,我想稍后用它们各自的索引调用它们,测试代码如下:
package methods;
public class Methods {
public static void main(String[] args) {
Methods[] methodsArray = {print_something(), something_else()};
methodsArray[0];
}
public static void print_something() {
System.out.println("Hiya!");
}
public static void something_else() {
System.out.println("Something else!");
}
}
答案 0 :(得分:6)
你可以
public class Methods {
public static void main(String[] args) {
Runnable[] methodsArray = {Methods::print_something, Methods::something_else};
methodsArray[0].run();
}
public static void print_something() {
System.out.println("Hiya!");
}
public static void something_else() {
System.out.println("Something else!");
}
}
访问数组时,只能访问该数组,并且不能将其更改为调用Java中的函数。您可以在Kotlin,Groovy和Scala中使用自定义类(但不能在数组上)进行运算符重载来做到这一点