Lambda

2018-11-08  本文已影响5人  JaedenKil
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.
上一篇 下一篇

猜你喜欢

热点阅读