-
- 参数类型
-
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的创建需要分辨率(参见JVMS 5),对于i = 0到n,包括第i个包围类别。 创建类型变量不能导致创建其边界。 重复创建类型变量没有任何效果。可以在运行时实例化多个对象来表示给定的类型变量。 即使只创建一个类型变量一次,这并不意味着缓存表示类型变量的实例的任何要求。 但是,表示类型变量的所有实例必须彼此相等()。 因此,类型变量的用户不能依赖于实现此接口的类的实例的身份。
- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 AnnotatedType[]
getAnnotatedBounds()
返回一个AnnotatedType对象的数组,表示使用类型来表示此TypeVariable表示的类型参数的上限。Type[]
getBounds()
返回表示此类型变量的上限的Type
对象的数组。D
getGenericDeclaration()
返回表示此类型变量的通用声明的GenericDeclaration
对象。String
getName()
返回此类型变量的名称,因为它在源代码中出现。-
Methods inherited from interface java.lang.reflect.AnnotatedElement
getAnnotation, getAnnotations, getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAnnotationPresent
-
Methods inherited from interface java.lang.reflect.Type
getTypeName
-
-
-
-
方法详细信息
-
getBounds
Type[] getBounds()
返回表示此类型变量的上限的Type
对象的数组。 如果没有明确声明上限,则上限为Object
。对于每个上限B:
- 如果B是参数化类型或类型变量,则创建它(有关参数化类型的创建过程的详细信息,请参阅
ParameterizedType
)。 - 否则,B被解决。
- 结果
-
表示此类型变量的上限的
Type
s的数组 - 异常
-
TypeNotPresentException
- 如果任何边界引用不存在的类型声明 -
MalformedParameterizedTypeException
- 如果有任何一个界限指的是由于任何原因无法实例化的参数化类型
- 如果B是参数化类型或类型变量,则创建它(有关参数化类型的创建过程的详细信息,请参阅
-
getGenericDeclaration
D getGenericDeclaration()
返回表示此类型变量的通用声明的GenericDeclaration
对象。- 结果
- 为此类型变量声明的通用声明。
- 从以下版本开始:
- 1.5
-
getName
String getName()
返回此类型变量的名称,因为它在源代码中出现。- 结果
- 该类型变量的名称,如它在源代码中所显示的
-
getAnnotatedBounds
AnnotatedType[] getAnnotatedBounds()
返回一个AnnotatedType对象的数组,表示使用类型来表示此TypeVariable表示的类型参数的上限。 数组中的对象的顺序对应于type参数的声明中的边界的顺序。 请注意,如果没有明确声明上限,则上限为未注释Object
。- 结果
- 表示类型变量的上限的一组对象
- 从以下版本开始:
- 1.8
-
-