2011-10-14 86 views
11

我試圖找到使用Java 6元模型API的方法的參數類型。如果類型是一個枚舉, 我也想知道它的所有類型的枚舉常量名稱。這是我到目前爲止:如何從javax.lang.model.VariableElement獲取參數類型

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? 
     } 
    } 
} 

回答

10

Element#asType()讓你聲明類型。

對於枚舉,使用DeclaredType使用Types#asElement()來獲取枚舉類型的元素,然後使用ElementVisitor或使用getEnclosedElements()遍歷成員。

+0

謝謝!現在就試試吧。 – Daniel

+14

它的工作,雖然我不禁覺得這是我已經與最不直觀的API之一。 – Daniel

相關問題