所有类


java.lang.reflect
接口 TypeVariable<D extends GenericDeclaration>

所有超级接口:
Type

public interface TypeVariable<D extends GenericDeclaration>
   
   
   
   
   
extends Type

TypeVariable 是各种类型变量的公共高级接口。类型变量在反射方法首次需要时创建(在此包中指定)。如果类型变量 t 由类型(即类、接口或注释类型)T 引用,而且 T 由 T 的第 n 个封闭类声明(请参见 JLS 8.1.2),那么创建 t 需要解析(请参见 JVMS 5)T 的第 i 个封闭类,其中 i = 0 到 n(包含)。创建某个类型变量决不能导致创建其边界。重复创建类型变量没有效果。

可以在运行时将多个对象实例化,以表示一个给定的类型变量。尽管类型变量仅创建一次,这并不意味着任何缓存实例的要求都表示类型变量。不过,表示类型变量的所有实例彼此必须相等 (equal())。因此,使用类型变量的用户决不能依靠实现此接口的类实例的身份。

类型参数 D 表示一般声明类型,它仅声明基础类型变量。

从以下版本开始:
1.5

方法摘要
 Type[] getBounds()
          返回表示此类型变量上边界的 Type 对象的数组。
 D getGenericDeclaration()
          返回 GenericDeclaration 对象,该对象表示声明此类型变量的一般声明。
 String getName()
          返回此类型变量的名称,它出现在源代码中。
 

方法详细信息

getBounds

Type[] getBounds()
返回表示此类型变量上边界的 Type 对象的数组。注意,如果未显式声明上边界,则上边界为 Object

对于每个上边界 B:

  • 如果 B 是一个参数化类型或一个类型变量,则会创建它(请参见 ParameterizedType,了解创建参数化类型过程的详细信息)。
  • 否则,B 将被解析。

返回:
表示此类型变量的上边界的 Type 的数组
抛出:
TypeNotPresentException - 如果任一边界引用不存在的类型声明
MalformedParameterizedTypeException - 如果任一边界引用出于某种原因不能被实例化的参数化类型

getGenericDeclaration

D getGenericDeclaration()
返回 GenericDeclaration 对象,该对象表示声明此类型变量的一般声明。

返回:
为此类型变量声明的一般声明。
从以下版本开始:
1.5

getName

String getName()
返回此类型变量的名称,它出现在源代码中。

返回:
此类型变量的名称,它出现在源代码中

所有类

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部