public static Class<?> getClass(Type type){
if(type.getClass() == Class.class){
return (Class<?>) type;
}
if(type instanceof ParameterizedType){
return getClass(((ParameterizedType) type).getRawType());
}
if(type instanceof TypeVariable){
Type boundType = ((TypeVariable<?>) type).getBounds()[0];
return (Class<?>) boundType;
}
if(type instanceof WildcardType){
Type[] upperBounds = ((WildcardType) type).getUpperBounds();
if (upperBounds.length == 1) {
return getClass(upperBounds[0]);
}
}
return Object.class;
}
TypeUtils.java 文件源码
java
阅读 46
收藏 0
点赞 0
评论 0
项目:GitHub
作者:
评论列表
文章目录