A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Collection proxy=(Collection)Proxy.newProxyInstance(
                                Collection.class.getClassLoader(),
                                new Class[]{Collection.class},
                                new InvocationHandler(){
                                       
                                        @Override
                                        public Object invoke(Object arg0, Method method, Object[] arg2)
                                                        throws Throwable {
                                                ArrayList target=new ArrayList();
                                               
                                                return method.invoke(target,args);
                                        }
                                       
                                });
                proxy.add("xxx");
                proxy.add("lhm");
                proxy.add("bxd");
                System.out.println(proxy.size());
错误如下:Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at FileTest$1.invoke(FileTest.java:22)
        at com.sun.proxy.$Proxy0.size(Unknown Source)
        at FileTest.main(FileTest.java:29)



2 个回复

倒序浏览
return method.invoke(target,arg2);
回复 使用道具 举报
何艳梅 发表于 2014-9-19 14:55
return method.invoke(target,arg2);

嗯嗯,后来发现了。。。谢谢啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马