以编程方式在java类中查找文字[关闭]

问题描述 投票:1回答:1

我发现Java Literals是布尔,字符,数字或字符串数​​据的语法表示。

我的问题是如何以编程方式在java类中查找文字?

如果任何人能够为我提供如何实现这一目标的指示,那将是一个很大的帮助。

java literals
1个回答
1
投票

您应该使用Java代码解析器,例如Eclipse JDT工具中包含的ASTParser。

// Create the Java parser and parse the source code into an abstract syntax tree
ASTParser parser = ASTParser.newParser(AST.JLS3);
parser.setSource(sourceCodeString.toCharArray());
CompilationUnit result = (CompilationUnit) parser.createAST(null);
result.accept(new ASTVisitor() {
  public boolean visit(NumberLiteral n) {
    System.out.println("Found number literal in source code: " + n.getToken());
  }
});

然后,您可以导航AST(抽象语法树)并提取您感兴趣的内容。

找到更长的例子herehere

您还可以查看执行您要执行的操作的工具的源代码,例如PMD或Findbugs(虽然后者在编译类上运行,而不是在源代码上运行)。

© www.soinside.com 2019 - 2024. All rights reserved.