代表一个类或接口程序元素。提供对类或接口及其成员的信息访问。请注意,枚举类和记录类是类的特殊种类,注解接口是接口的特殊种类。
虽然 TypeElement
代表一个类或接口 元素,DeclaredType
代表一个类或接口 类型,后者是前者的使用(或 调用)。这种区别在泛型类型中最为明显,对于泛型类型,一个元素可以定义整个类型族。例如,元素 java.util.Set
对应于参数化类型 java.util.Set<String>
和 java.util.Set<Number>
(以及许多其他类型),以及原始类型 java.util.Set
。
此接口的每个返回元素列表的方法将按照程序信息来源的自然顺序返回它们。例如,如果信息来源是Java源代码,则元素将按照源代码顺序返回。
-
Method Summary
Modifier and TypeMethodDescriptionasType()
返回由此类或接口元素定义的类型,为代表泛型类型的元素返回 原型 类型。返回直接在此类或接口中声明的字段、方法、构造函数、记录组件以及成员类和接口。返回顶层类或接口的包,并为 嵌套 类或接口返回直接包围的元素。List
<? extends TypeMirror> 返回此类直接实现的接口类型或此接口直接扩展的接口。返回此类或接口元素的 嵌套类型。default List
<? extends TypeMirror> 返回此类或接口元素的声明顺序中允许的类。返回此类或接口元素的完全限定名称。default List
<? extends RecordComponentElement> 返回此类或接口元素的记录组件的声明顺序。返回此类或接口元素的简单名称。返回此类或接口元素的直接超类。List
<? extends TypeParameterElement> 返回此类或接口元素的声明顺序中的形式类型参数。default boolean
预览。如果这是一个无名称类,则返回true
,否则返回false
。Methods declared in interface javax.lang.model.element.Element
accept, equals, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getKind, getModifiers, hashCode
-
Method Details
-
asType
TypeMirror asType()返回由此类或接口元素定义的类型,为代表泛型类型的元素返回 原型 类型。泛型元素定义了一组类型,而不仅仅是一个。如果这是一个泛型元素,则返回一个原型类型,该类型具有元素对应于其自身形式类型参数的类型变量的调用。例如,对于泛型类元素
C<N extends Number>
,将返回参数化类型C<N>
。Types
实用接口具有更通用的方法,用于获取元素定义的完整类型范围。 -
getEnclosedElements
- 指定者:
-
getEnclosedElements
在接口Element
中 - API 注意:
- 作为对此接口所需的一般准确性要求和排序行为的特定实例,将以关于类或接口信息来源的自然顺序返回封闭元素列表。例如,如果关于类或接口的信息来自源文件,则元素将按照源代码顺序返回。(但在这种情况下,例如默认构造函数等 隐式声明 元素的排序未指定。)
- 返回:
- 适当顺序中的封闭元素,如果没有则返回空列表
- 参见 Java 语言规范:
-
8.8.9 默认构造函数
8.9.3 枚举成员
8.10.3 记录成员
- 参见:
-
getNestingKind
NestingKind getNestingKind()返回此类或接口元素的 嵌套类型。- 返回:
- 此类或接口元素的嵌套类型
-
getQualifiedName
Name getQualifiedName()返回此类或接口元素的完全限定名称。更准确地说,它返回 规范 名称。对于本地、匿名和 无名称预览 类,它们没有规范名称,将返回一个 空名称。泛型类或接口的名称不包括对其形式类型参数的任何引用。例如,接口
java.util.Set<E>
的完全限定名称是 "java.util.Set
"。嵌套类和接口使用 ".
" 作为分隔符,如 "java.util.Map.Entry
"。- 指定者:
-
getQualifiedName
在接口QualifiedNameable
中 - 返回:
- 此类或接口元素的完全限定名称,如果没有则返回空名称
- 参见 Java 语言规范:
-
6.7 完全限定名称和规范名称
7.3 编译单元
- 参见:
-
getSimpleName
Name getSimpleName()- 指定者:
-
getSimpleName
在接口Element
中 - 返回值:
- 此类或接口的简单名称,匿名类的空名称
- 参见:
-
isUnnamed
default boolean isUnnamed()isUnnamed
是Java平台的反射预览API。预览功能可能会在将来的版本中被移除,或升级为Java平台的永久功能。如果这是一个无名类,则返回true
,否则返回false
。- 实现要求:
-
此方法的默认实现返回
false
。 - 返回值:
-
如果这是一个无名类,则返回
true
,否则返回false
- 参见 Java语言规范:
-
7.3 编译单元
- 自Java版本:
- 21
-
getSuperclass
TypeMirror getSuperclass()- 返回值:
-
直接超类,如果没有则返回
NoType
-
getInterfaces
List<? extends TypeMirror> getInterfaces()返回此类直接实现的接口类型或此接口直接扩展的接口类型。- 返回值:
- 直接实现的接口类型或直接扩展的接口类型,如果没有则返回空列表
-
getTypeParameters
List<? extends TypeParameterElement> getTypeParameters()返回此类或接口元素的声明顺序中的形式类型参数。- 指定者:
-
getTypeParameters
在接口Parameterizable
中 - 返回值:
- 形式类型参数,如果没有则返回空列表
-
getRecordComponents
返回此类或接口元素的声明顺序中的记录组件。- 实现要求:
- 此方法的默认实现返回一个空的不可修改列表。
- 返回值:
- 记录组件,如果没有则返回空列表
- 自Java版本:
- 16
-
getPermittedSubclasses
返回此类或接口元素的声明顺序中的允许类。- 实现要求:
- 此方法的默认实现返回一个空的不可修改列表。
- 返回值:
- 允许类,如果没有则返回空列表
- 自Java版本:
- 17
-
getEnclosingElement
Element getEnclosingElement()返回顶层类或接口的包,并返回嵌套类或接口的立即词法封闭元素。- 指定者:
-
getEnclosingElement
在接口Element
中 - 返回值:
- 顶层类或接口的包,嵌套类或接口的立即词法封闭元素
- 参见:
-