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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 crazy_primitive 于 2013-7-19 14:18 编辑
  1. public static void main(String[] args){
  2.                 Method GenericMethod = GenericTest.class.getMethod("applyVector", Vector.class);
  3.                 Type[] types = GenericMethod.getGenericExceptionTypes();
  4.                 ParameterizedType pType = (ParameterizedType)types[0];//为什么这里老是报java.lang.ArrayIndexOutOfBoundsException异常呢?
  5.                 System.out.println(pType.getRawType());
  6.                 System.out.println(pType.getActualTypeArguments()[0]);
  7.         }
  8.         public static void applyVector(Vector<Date> v1){
  9.                
  10.         }
  11. //这个是用反射获取applyVector方法的泛型的实际类型参数,上面一直报异常,请讲讲是怎么一回事儿。
复制代码

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

3 个回复

正序浏览
Type[] types = GenericMethod.getGenericExceptionTypes();这句写错了,这个是获取Method对象抛出的异常;
要获取Method 对象所表示的方法的形参类型的应该用 getGenericParameterTypes() ;
回复 使用道具 举报
Type[] types = GenericMethod.getGenericExceptionTypes();你打印下数组长度。可能这一步就出错了
回复 使用道具 举报
请问报的是什么异常?可以发出来吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马