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