- 类型参数:
-
D
- 声明底层类型变量的通用声明类型。
- 所有超接口:
-
AnnotatedElement
,Type
TypeVariable是类型变量种类的通用超接口。类型变量是通过反射方法在需要时首次创建的,如本包中所述。如果类型变量t被类型(即类、接口或注解类型)T引用,并且T由T的第n个封闭类声明(参见JLS 8.1.2),则t的创建需要解析T的第i个封闭类(参见JVMS 5),其中i从0到n,包括n。创建类型变量不得导致其边界的创建。重复创建类型变量没有任何效果。
可以在运行时实例化多个对象来表示给定类型变量。尽管类型变量只创建一次,但这并不意味着必须缓存表示类型变量的实例。然而,表示类型变量的所有实例必须彼此相等。因此,类型变量的用户不得依赖实现此接口的类的实例的标识。
- 参见 Java语言规范:
-
4.4 类型变量
- 自版本:
- 1.5
-
Method Summary
Methods declared in interface java.lang.reflect.AnnotatedElement
getAnnotation, getAnnotations, getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAnnotationPresent
Methods declared in interface java.lang.reflect.Type
getTypeName
-
Method Details
-
getBounds
Type[] getBounds()返回表示此类型变量上界的Type
对象数组。如果未明确声明上界,则上界为Object
。对于每个上界B:
- 如果B是参数化类型或类型变量,则会创建它(有关参数化类型创建过程的详细信息,请参见
ParameterizedType
)。 - 否则,将解析B。
- 返回:
-
表示此类型变量上界的
Type
数组 - 抛出:
-
TypeNotPresentException
- 如果任何边界引用不存在的类型声明 -
MalformedParameterizedTypeException
- 如果任何边界引用由于任何原因无法实例化的参数化类型
- 如果B是参数化类型或类型变量,则会创建它(有关参数化类型创建过程的详细信息,请参见
-
getGenericDeclaration
D getGenericDeclaration()返回表示为此类型变量声明的通用声明的GenericDeclaration
对象。- 返回:
- 此类型变量声明的通用声明。
- 自版本:
- 1.5
-
getName
String getName()返回此类型变量在源代码中出现的名称。- 返回:
- 此类型变量在源代码中出现的名称
-
getAnnotatedBounds
AnnotatedType[] getAnnotatedBounds()返回表示用于表示此TypeVariable所代表的类型参数的上界的AnnotatedType对象数组。数组中对象的顺序对应于类型参数声明中边界的顺序。请注意,如果未明确声明上界,则上界为未注释的Object
。- 返回:
- 表示类型变量上界的对象数组
- 自版本:
- 1.8
-