17

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

1 回答 1

16

Element#asType()为您提供 DeclaredType。

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

于 2011-10-14T05:29:02.217 回答