如何获取 java 的泛型中的对象类型
发布网友
发布时间:2022-04-30 01:57
我来回答
共2个回答
热心网友
时间:2022-05-19 13:27
/**
* 获取field的类型,如果是复合对象,获取的是泛型的类型
*
* @param field
* @return
*/
private static Class getFieldClass(Field field) {
Class fieldClazz = field.getType();
if (fieldClazz.isAssignableFrom(List.class)) {
Type fc = field.getGenericType(); // 关键的地方,如果是List类型,得到其Generic的类型
if (fc instanceof ParameterizedType) // 如果是泛型参数的类型
{
ParameterizedType pt = (ParameterizedType) fc;
fieldClazz = (Class) pt.getActualTypeArguments()[0]; //得到泛型里的class类型对象。
}
}
return fieldClazz;
}
正好这几天刚写了相关代码,供参考
热心网友
时间:2022-05-19 14:45
呃,泛型是你自己设置的数据类型,可以是任何的数据类型