Java编程语言的模型元素接口
package: javax.lang.model
第一部分
Element
Name getSimpleName();
返回元素的简单名称,如java.util.Set的简单名称“Set”
Element getEnclosingElement();
返回封装此元素的最外层元素
Set getModifiers();
返回元素的修饰符
ElementKind getKind();
返回元素的种类
TypeMirror asType();
扫描二维码关注公众号,回复: 2936845 查看本文章返回元素的类型镜像,一般来说元素会返回一个类型系列,而不是只定义一个类型。
如果此元素是一般元素,则返回元素的原型类型,如一般类元素C,返回C的参数化类型。
Parameterizable
List< ? extends TypeParameterElement> getTypeParameters();
按照声明的顺序,返回类型元素的形式类型的参数
QualifiedNameable
Name getQualifiedName();
返回此类型元素的完全限定名称
第二部分
ElementKind
元素的种类
PACKAGE,一个包
ENUM,一个枚举类型
CLASS,一般的类
ANNOTATION_TYPE
,
INTERFACE,一般的接口
ENUM_CONSTANT,一个枚举常量
FIELD,一般的成员变量
PARAMETER,方法或构造方法的参数
LOCAL_VARIABLE,局部变量
EXCEPTION_PARAMETER,异常处理程序的参数
METHOD,一个方法
CONSTRUCTOR,一个构造方法
STATIC_INIT,一个静态初始化程序
INSTANCE_INIT,一个常量初始化程序
TYPE_PARAMETER,一个类型参数
OTHER,一个为实现保留的元素
RESOURCE_VARIABLE
;TypeMirror,元素的类型镜像
一般配合TypeMirror.getKind()方法或者Types.isSameType(.,.)做一些操作。
TypeKind
类型镜像的种类,通过TypeMirror.getKind()拿到,是一个枚举值。
BOOLEAN, BYTE, SHORT,INT,LONG,CHAR,FLOAT,DOUBLE,基本类型
VOID, 对应关键字void的伪类型
NONE, 在实际类型不合适的地方使用的伪类型
NULL, null类型
ARRAY, 数组类型
DECLARED, 类或接口类型
ERROR, 无法解析的类或接口类型
TYPEVAR, 类型变量var
WILDCARD, 通配符类型参数
PACKAGE, 对应于包元素的伪类型
EXECUTABLE, 方法、构造方法或初始化程序
OTHER, 为实现保留的类型
UNION
,
INTERSECTION
;Modifier,元素的修饰符(public,static,final…)
第三部分
PackageElement
表示一个包程序元素,提供对有关包以及其成员的信息的访问
ExecutableElement
表示方法、构造方法或初始化程序(静态或实例)元素,还包括注释类型元素。
VariableElement
表示变量、泛型等可变元素
TypeElement
表示类或接口程序元素,提供对其类型和成员信息的访问
TypeMirror getSuperclass();
返回此类型元素的直接超类
List< ? extends TypeMirror> getInterfaces();
返回直接由此类实现或直接由此接口扩展的接口类型
TypeParameterElement
表示一般类、接口、方法或构造方法元素的形式类型参数
如: void methodA(String a, String b){..}
其中 a , b 就是TypeParameterElement元素