最主要功能包括:
- 获取方法的参数和返回值类型(包括Type和Class)
- 获取泛型参数类型(包括对象的泛型参数或集合元素的泛型类型)
publicclassTestClass { publicList<String>getList(){ returnnewArrayList<>(); } publicIntegerintTest(Integerinteger) { return1; } }
getClass
获得Type对应的原始类
getParamType
获取方法参数的泛型类型
Methodmethod=ReflectUtil.getMethod(TestClass.class, "intTest", Integer.class); Typetype=TypeUtil.getParamType(method, 0); // 结果:Integer.class
getReturnType
获取方法的返回值类型
Methodmethod=ReflectUtil.getMethod(TestClass.class, "getList"); Typetype=TypeUtil.getReturnType(method); // 结果:java.util.List<java.lang.String>
getTypeArgument
获取泛型类子类中泛型的填充类型。
Methodmethod=ReflectUtil.getMethod(TestClass.class, "getList"); Typetype=TypeUtil.getReturnType(method); Typetype2=TypeUtil.getTypeArgument(type); // 结果:String.class