返回介绍

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

发布于 2019-10-04 09:51:19 字数 2442 浏览 921 评论 0 收藏 0

所有超级接口:
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 对象的数组。

DgetGenericDeclaration()

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

StringgetName()

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

方法详细信息

getBounds

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

对于每个上边界 B:

  • 如果 B 是一个参数化类型或一个类型变量,则会创建它(请参见 ParameterizedType ,了解创建参数化类型过程的详细信息)。
  • 否则,B 将被解析。
返回:
表示此类型变量的上边界的 Type 的数组
抛出:
TypeNotPresentException - 如果任一边界引用不存在的类型声明
MalformedParameterizedTypeException - 如果任一边界引用出于某种原因不能被实例化的参数化类型

getGenericDeclaration

D getGenericDeclaration()
返回 GenericDeclaration 对象,该对象表示声明此类型变量的一般声明。
返回:
为此类型变量声明的一般声明。
从以下版本开始:
1.5

getName

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文