Java 反射中的 Class.getMethod() 里面的类型参数说明

源码:public Method getMethod(String name, Class... parameterTypes);
——————————————————————————
说明:想要反射获取一个方法,当该方法参数是基础数据类型时,一定注意不要传入 Integer.class 这样的参数,而是使用 Integer.TYPE 或者 int.class;
——————————————————————————
如:

        System.out.format(" get declared methods:");
        try{
            Method m = c.getMethod("subList",int.class,int.class);
            System.out.println("  "+m.toString());
        }
        catch(NoSuchMethodException|SecurityException e){
            System.out.println("No such method or name printed error");
        }

上述代码中,想要获取 subList(int, int) 这个方法,当你传入的是 Integer.class 时,其实传入的是包装类 Integer 的 Class,而不是基础数据类型的 Class;

你可能感兴趣的:(Java 反射中的 Class.getMethod() 里面的类型参数说明)