Question

Comment puis-je obtenir le programme type de champ d'une instruction à l'intérieur d'une méthode comme ceci:

Foo foo = getSomeFoo();

Si c'est le terrain, je peux connaître le type de l'élément.

Était-ce utile?

La solution

Vous devez utiliser AST Eclipse

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;
    }
});

Autres conseils

Vous pouvez obtenir la classe de l'objet foo en appelant foo.getClass().

Si vous avez une classe (ou objet) et que vous voulez obtenir le programme type de retour pour une méthode particulière sur cette classe, essayez ceci:

  • Obtenir l'objet Class pour la classe / objet
  • Appelez la méthode getMethod() et obtenir un retour de l'objet Méthode
  • Appelez la méthode getReturnType() Méthode sur l'objet
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top