【问题标题】:How to get parameter type from javax.lang.model.VariableElement如何从 javax.lang.model.VariableElement 获取参数类型
【发布时间】:2011-10-14 05:11:12
【问题描述】:

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

【问题讨论】:

    标签: java apt


    【解决方案1】:

    Element#asType() 为您获取 DeclaredType。

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

    【讨论】:

    • 它成功了,但我不禁觉得这是我使用过的最不直观的 API 之一。
    猜你喜欢
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 2020-08-22
    • 2016-12-05
    • 1970-01-01
    相关资源
    最近更新 更多