Most visited

Recently visited

Added in API level 1

TypeVariable

public interface TypeVariable
implements Type

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


TypeVariable是类型变量的常用超接口。 在这个包中指定的反射方法第一次需要时创建一个类型变量。 如果类型变量t由类型(即类,接口或注释类型)T引用,并且T由T的第n个封闭类声明(请参阅JLS 8.1.2),则创建t需要解析参见JVMS 5)第i个包含T的类,对于i = 0到n(包括)。 创建一个类型变量不能导致其边界的创建。 重复创建类型变量不起作用。

运行时可以实例化多个对象来表示给定的类型变量。 尽管只创建一次类型变量,但这并不意味着需要缓存表示类型变量的实例。 但是,表示类型变量的所有实例必须相等()。 因此,类型变量的用户不能依赖实现此接口的类的实例的身份。

Summary

Public methods

abstract Type[] getBounds()

返回表示此类型变量上限的 Type对象的数组。

abstract D getGenericDeclaration()

返回表示声明此类型变量的泛型声明的 GenericDeclaration对象。

abstract String getName()

返回此类型变量的名称,因为它发生在源代码中。

Public methods

getBounds

Added in API level 1
Type[] getBounds ()

返回表示此类型变量上限的Type对象的数组。 请注意,如果没有明确声明上限,则上限为Object

对于每个上限B:

  • if B is a parameterized type or a type variable, it is created, (see ParameterizedType for the details of the creation process for parameterized types).
  • Otherwise, B is resolved.

Returns
Type[] an array of Types representing the upper bound(s) of this type variable
Throws
TypeNotPresentException if any of the bounds refers to a non-existent type declaration
MalformedParameterizedTypeException if any of the bounds refer to a parameterized type that cannot be instantiated for any reason

getGenericDeclaration

Added in API level 1
D getGenericDeclaration ()

返回表示声明此类型变量的泛型声明的 GenericDeclaration对象。

Returns
D the generic declaration declared for this type variable.

getName

Added in API level 1
String getName ()

返回此类型变量的名称,因为它发生在源代码中。

Returns
String the name of this type variable, as it appears in the source code

Hooray!