java Type转Class

之前利用JDT做公司内部的自动api文档管理,根据java类的注释和定义动态的生成文档,这里不说了,后续有时间详细介绍下JDT。

之间碰到“知道Type想知道对应的classname的问题”,下面是核心转换的逻辑:

if (null != genericType) {

this.type = genericType;

if (genericType instanceof ParameterizedType) {

ParameterizedType pt = (ParameterizedType) genericType;

clz = ((Class) pt.getRawType());

className = clz.getName();

} else if (genericType instanceof TypeVariable) {

TypeVariable tType = (TypeVariable) genericType;

className = tType.getGenericDeclaration().toString();

} else {

clz = (Class) genericType;

className = clz.getName();

}

}

你可能感兴趣的:(java Type转Class)