如何从javax.lang.model.VariableElement获取参数类型

时间:2011-10-14 05:11:13

标签: java apt

我正在尝试使用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?
        }
    }
}

1 个答案:

答案 0 :(得分:14)

Element#asType()为您提供DeclaredType。

对于枚举,使用带有DeclaredType的Types#asElement()来获取枚举类型的元素,然后使用ElementVisitor或使用getEnclosedElements()迭代成员。