我想使用 JavaParser 将 Java 源代码中的所有 String 变量值从任何值更改为""
.
我可以更改全局变量的值,但无法更改方法级别变量的值。
环顾四周,我从这个和这个答案中得到了帮助,现在我可以得到每个方法中每一行代码的值,如下所示:
static void removeStrings(CompilationUnit cu) {
for (TypeDeclaration typeDec : cu.getTypes()) {
List<BodyDeclaration> members = typeDec.getMembers();
if (members != null) {
for (BodyDeclaration member : members) {
if (member.isMethodDeclaration()) { // If it is a method variable
MethodDeclaration method = (MethodDeclaration) member;
Optional<BlockStmt> block = method.getBody();
NodeList<Statement> statements = block.get().getStatements();
for (Statement tmp : statements) {
// How do I change the values here?
}
}
}
}
}
}
tmp
现在,如果它是一个字符串声明,我该如何更改它的值?