日食のメソッドでフィールドタイプを取得します
-
30-09-2019 - |
質問
このようなメソッド内のステートメントからフィールドタイプをプログラム的に取得するにはどうすればよいですか。
Foo foo = getSomeFoo();
それがフィールドの場合、私は要素のタイプを知ることができます。
解決
EclipseのASTを使用する必要があります
ICompilationUnit icu = ...
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setResolveBindings(true);
parser.setSource(icu);
CompilationUnit cu = (CompilationUnit) parser.createAST(null);
cu.accept(new ASTVisitor() {
@Override
public boolean visit(VariableDeclarationStatement node) {
System.out.println("node=" + node);
System.out.println("node.getType()=" + node.getType());
return true;
}
});
他のヒント
のクラスを取得できます foo
呼び出してオブジェクト foo.getClass()
.
クラス(またはオブジェクト)があり、そのクラスで特定のメソッドの戻りタイプをプログラム的に取得したい場合は、これを試してください。
- 取得します
Class
クラス/オブジェクトのオブジェクト - 電話してください
getMethod()
メソッドとメソッドオブジェクトを取り戻します - 電話してください
getReturnType()
メソッドオブジェクトのメソッド
所属していません StackOverflow