解读Java成员变量类型的获取

可以利用指定类的Class对象获得我们的Java程序中的所有成员变量。不管使用什么权限修饰符,不管其成员变量是基型还是引用型,都可以很容易地获得成员变量对应的Field对象。

没有泛型的变量代码如下:

运行结果如下:

但上面的方式只对普通类型的成员变量有效,如果需要获得带有泛型类型的类型,显然上面的方法不能获得完整的类型信息。

这时,我们可以调用Filed对象的getGenericType()方法,他给我们返回一个Type对象,它表示此Field对象所表示字段的声明类型。然后将Type强转为ParameterizedType对象。ParameterizedType代表被参数化的类型。

下面是获得泛型类型的完整代码:

运行结果如下:

(0)

相关推荐