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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Acejin 中级黑马   /  2015-8-7 11:02  /  264 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.lang.reflect.Method;


public class demoTest {

        public static void main(String[] args) throws Exception {
          Class<?> c=Class.forName("java.util.Arrays");
       //Object a=c.newInstance();
               
       Method h= c.getMethod("asList", Object[].class);
      
           System.out.print(h.getTypeParameters()[0].getName().toString());
       //Object a []={"aa","dd"};
           h.setAccessible(true);
         Object  g=h.invoke(c, "a");
                  g= h.getReturnType().cast(g);        
                     System.out.println(g.toString());
       
        }

}
Exception in thread "main" java.lang.IllegalArgumentException: argument type mismatch
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at demoTest.main(demoTest.java:14)
问题出在那?

3 个回复

倒序浏览

回复 举报
这是个什么东东
回复 举报
应该是getDeclaredMethod吧
回复 举报
您需要登录后才可以回帖 登录 | 加入黑马