3

如何以编程方式从这样的方法中的语句中获取字段类型:

Foo foo = getSomeFoo();

如果是字段,我可以知道元素的类型。

4

2 回答 2

3

你需要使用 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;
    }
});
于 2010-10-15T11:05:36.890 回答
0

您可以foo通过调用来获取对象的类foo.getClass()

如果您有一个类(或对象)并希望以编程方式获取该类上特定方法的返回类型,请尝试以下操作:

  • 获取Class类/对象的对象
  • 调用getMethod()方法并返回一个 Method 对象
  • getReturnType()在 Method 对象上调用方法
于 2010-10-15T00:21:24.627 回答