java - 以编程方式在 java 类中查找文字

标签 java literals

我发现 Java Literals 是 boolean 值、字符、数字或字符串数​​据的语法表示。

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

如果有人可以为我提供如何实现这一目标的指导,那将是一个很大的帮助。

最佳答案

您应该使用 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(尽管后者在编译的类上运行,而不是在源代码上运行)。

关于java - 以编程方式在 java 类中查找文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18642834/

相关文章:

Java变量初始化?

python - 如何为 Python 整数文字使用数字分隔符?

java - Wicket 口在另一个请求后触发请求

java - 使用ArrayBlockingQueue和mutex的多线程代码中的疑问

c - GCC 编译器并将 const char* 转换为 char *

c - 数组初始值设定项必须是初始值设定项列表或字符串文字 c

java - 减少 JAX-WS Web 服务中的数据流量

java - Spring Boot Soap 集成测试失败

使用非明文密码进行 Java LDAP 身份验证

c++ - 为什么在引用文字时必须使用 const 引用