我想操纵Java类(java
扩展名不是.class
),以便我可以:
删除类的所有方法(保留构造函数)
添加未实现的方法
删除未使用的导入
...
是否有可以实现此目的的API?
我到目前为止所做的是尝试操纵.java
文件,例如文本文件(regex
,FileUtils
等)。
的问候。 我
答案 0 :(得分:1)
您可以使用Eclipse JDT项目中的AST(抽象语法树)工具。
有一个教程可以帮助您开始使用Vogella:Eclipse JDT - Abstract Syntax Tree (AST) and the Java Model - Tutorial
答案 1 :(得分:0)
如果您只想暂时修改类(即在jvm的范围内),那么您可以使用反射执行此操作:
What is reflection and why is it useful?
如果你正在考虑永久改变/创建源代码,那么最好使用IDE来完成。大多数IDE会告诉您未实现的方法并提供自动完成功能来创建它们。他们还将格式化源代码,删除未使用的导入等。
答案 2 :(得分:0)
答案 3 :(得分:0)
你可以使用正则表达式,然后问题是正则表达式(还有其他选项!)
正则表达式可能并不适合这种情况,例如,当涉及到其他任务时,它们并不适合,例如解析XML,人们说不要这样做,使用XML解析器,但在这种情况下,如果您发现缺少为解析java源代码而构建的工具,那么正则表达式可能是最佳选择。