概述
- 反射包中有一个java.lang.reflect.GenericDeclaration接口,所有已知的实现类有Class、Constructor、Method:
//声明类型变量的所有实体的公共接口
public interface GenericDeclaration
- 该接口中只有一个方法getTypeParameters:
/**
*返回声明顺序的TypeVariable对象的数组,这些对象表示由此GenericDeclaration对象表示的一般声明声明的类型变量;
*如果底层的一般声明未声明任何类型变量,则返回一个0长度的数组。
*抛出:GenericSignatureFormatError异常,如果此一般声明的一般签名不符合
*Java Virtual Machine Specification, 3rd edition指定的格式。
*/
public TypeVariable<?>[] getTypeParameters();
- 声明类型变量的示例如下:
package reflect;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.TypeVariable;
//类型变量T
public class ConstructorTest<T> {
public static void main(String[] args) {
TypeVariable<Class<ConstructorTest>>[] t = ConstructorTest.class.getTypeParameters();
for(TypeVariable<Class<ConstructorTest>> m : t) {
System.out.println(m.getName());;
}
}
}
输出结果:
T
最后
以上就是飞快小天鹅为你收集整理的Java源码GenericDeclaration详解的全部内容,希望文章能够帮你解决Java源码GenericDeclaration详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复