使用Java

时间:2015-07-16 10:54:26

标签: java class

我想操纵Java类(java扩展名不是.class),以便我可以:

  • 删除类的所有方法(保留构造函数)

  • 添加未实现的方法

  • 删除未使用的导入

  • ...

是否有可以实现此目的的API?

我到目前为止所做的是尝试操纵.java文件,例如文本文件(regexFileUtils等)。

的问候。 我

4 个答案:

答案 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)

是的,您可以使用java reflection api。请检查here

稍后编辑:要更新类结构,您可以使用javassistHere你有一个例子。

答案 3 :(得分:0)

你可以使用正则表达式,然后问题是正则表达式(还有其他选项!)

正则表达式可能并不适合这种情况,例如,当涉及到其他任务时,它们并不适合,例如解析XML,人们说不要这样做,使用XML解析器,但在这种情况下,如果您发现缺少为解析java源代码而构建的工具,那么正则表达式可能是最佳选择。