Method genericMethod=GenericTest.class.getMethod("applyVector",Vector.class);
Type[] genericType=genericMethod.getGenericParameterTypes();
ParameterizedType parameterType=(ParameterizedType)genericType[0];
System.out.println(parameterType.getRawType());
System.out.println((parameterType.getActualTypeArguments()[0]));
}
public static void applyVector(Vector<Date> v)
{}
这个可以通过
结果是
class java.util.Vector
class java.util.Date
为什么public改成private,编译通过,但是运行失败啊
Exception in thread "main" java.lang.NoSuchMethodException: cn.itcast.day2.GenericTest.applyVector(java.util.Vector)
at java.lang.Class.getMethod(Class.java:1605)
at cn.itcast.day2.GenericTest.main(GenericTest.java:44)
我怀疑反射调用方法必须的都用public |