Lambda

import java.util.HashMap;
import java.util.Map;

public class RunnableDemo {

    public static void main(String[] args) {
        Map<String, NewRunnable> cmd = new HashMap<>();
        cmd.put("methodA", str -> System.out.println("This is a method " + str));
        cmd.put("methodB", str -> System.out.println("This is a method " + str));

        cmd.get("methodB").run("B");
    }

}

interface NewRunnable {
    void run(String str);
}
This is a method B

import java.util.HashMap;
import java.util.Map;

public class RunnableDemo02 {
    public static void main(String[] args) {
        Map<String, Runnable> cmd = new HashMap<>();
        cmd.put("MethodA", () -> System.out.println("This is a method A."));
        cmd.put("MethodB", () -> System.out.println("This is a method B."));
        cmd.get("MethodB").run();
    }
}
This is a method B.

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;

public class RunnableDemo03 {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {

        Map<String, Method> cmd = new HashMap<>();
        cmd.put("MethodA", RunnableDemo03.class.getMethod("methodA"));
        cmd.put("MethodB", RunnableDemo03.class.getMethod("methodB"));

        cmd.get("MethodB").invoke(null);
    }

    public static void methodA() {
        System.out.println("Method A.");
    }

    public static void methodB() {
        System.out.println("Method B.");
    }
}
Method B.
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容