账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    通过反射调用带可变参数方法运行失败
    35
    0

    我通过反射调用一个带有可变参数的方法是运行失败,代码如下。

    public class Main {
    
        public static void func(Object... objs){
            for (Object obj : objs){
                System.out.println(obj);
            }
        }
    
        public static class Tester{
            public static void main(String... args) throws ClassNotFoundException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
                Class<?> clazz = Class.forName("com.xxxx.Main");
                Method method1 = clazz.getMethod("func", Object[].class);
                method1.invoke(null, new Object[]{1, "2"});
            }
        }
    }

    异常信息如下

    Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.zeeker.reflect.Main$Tester.main(Main.java:30)

    这其中是有什么猫腻?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ゅ文明人 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部