数组内部的方法和以后的Java调用

ree*_*ree 0 java

我有一个很大的问题,我真的不知道解决方案,我似乎无法弄清楚几个小时的寻找和尝试周围的东西...

我想有一个内部有方法的数组,我想稍后用各自的索引调用它们,测试代码如下所示:

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!");
    }
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*rey 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!");
    }
}
Run Code Online (Sandbox Code Playgroud)

访问数组时,只能访问数组,并且无法更改它以在Java中调用函数.您可以在Kotlin,Groovy和Scala中执行此操作,并在自定义类(但不是数组)上进行运算符重载