欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

获取子类的泛型参数

程序员文章站 2022-04-18 10:22:14
...

用的时候不好找,今天看nutz的dao的源码看到了,摘出来备份

	public static Type[] getTypeParams(Class<?> klass) {
		if (klass == null || "java.lang.Object".equals(klass.getName()))
			return null;
		// 看看父类
		Type superclass = klass.getGenericSuperclass();
		if (null != superclass && superclass instanceof ParameterizedType)
			return ((ParameterizedType) superclass).getActualTypeArguments();

		// 看看接口
		Type[] interfaces = klass.getGenericInterfaces();
		for (Type inf : interfaces) {
			if (inf instanceof ParameterizedType) {
				return ((ParameterizedType) inf).getActualTypeArguments();
			}
		}
		return getTypeParams(klass.getSuperclass());
	}

 只能查找有父类或者实现了接口的类,否则返回null.

ps:看来基础api还有很多不懂啊.

相关标签: DAO