-
- 参数类型
-
D
- 声明基础类型变量的泛型声明的类型。
- All Superinterfaces:
-
AnnotatedElement
,Type
public interface TypeVariable<D extends GenericDeclaration> extends Type, AnnotatedElement
TypeVariable是类型变量的通用超接口。 类型变量在第一次被反射方法需要时创建,如此包中指定的那样。 如果类型变量t由类型(即类,接口或注释类型)T引用,并且T由第n个封闭类T(参见JLS 8.1.2)声明,则t的创建需要分辨率(参见第i个封闭类T的JVMS 5),其中i = 0到n,包括0和n。 创建类型变量不得导致其边界的创建。 重复创建类型变量无效。可以在运行时实例化多个对象以表示给定的类型变量。 尽管类型变量只创建一次,但这并不意味着需要缓存表示类型变量的实例。 但是,表示类型变量的所有实例必须彼此相等()。 因此,类型变量的用户不得依赖于实现此接口的类的实例的标识。
- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 AnnotatedType[]
getAnnotatedBounds()
返回AnnotatedType对象的数组,这些对象表示使用类型来表示此TypeVariable表示的类型参数的上限。Type[]
getBounds()
返回一个Type
对象的数组,表示此类型变量的上限。D
getGenericDeclaration()
返回表示声明此类型变量的泛型声明的GenericDeclaration
对象。String
getName()
返回此类型变量的名称,因为它出现在源代码中。-
声明方法的接口 java.lang.reflect.AnnotatedElement
getAnnotation, getAnnotations, getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAnnotationPresent
-
声明方法的接口 java.lang.reflect.Type
getTypeName
-
-
-
-
方法详细信息
-
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()
返回AnnotatedType对象的数组,这些对象表示使用类型来表示此TypeVariable表示的类型参数的上限。 数组中对象的顺序对应于type参数声明中的边界顺序。 请注意,如果未显式声明上限,则上限未注释Object
。- 结果
- 表示类型变量上限的对象数组
- 从以下版本开始:
- 1.8
-
-