Lambda

作者: JaedenKil | 来源:发表于2018-11-08 11:06 被阅读5次
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.

相关文章

网友评论

      本文标题:Lambda

      本文链接:https://www.haomeiwen.com/subject/zsgixqtx.html