我正在尝试使用Java 6元模型API查找方法的参数类型。如果类型是枚举, 我也想知道它的所有类型的枚举常量名称。这是我到目前为止所得到的:
for (Element member : members) {
if(member.getKind() == ElementKind.METHOD) {
ExecutableElement methodElement = (ExecutableElement) member;
List<? extends VariableElement> parameters = methodElement.getParameters();
for (VariableElement parameter : parameters) {
//How do I get the type of the parameter here?
}
}
}
答案 0 :(得分:14)
Element#asType()为您提供DeclaredType。
对于枚举,使用带有DeclaredType的Types#asElement()来获取枚举类型的元素,然后使用ElementVisitor或使用getEnclosedElements()迭代成员。