好吧,我需要从用户那里接收一个类,例如:MyClass.java。我的程序需要读取所有类并识别:方法、类属性和类名。
所以我认为在一些可能性:
1 - 使用反射更快地完成此任务,但反射的问题是我需要一个 MyClass.class(字节码)并且用户将发送一个“.java”,因此反射被丢弃。
2 - 创建一个包含大量正则表达式的超级算法来完成这项任务。这个解决方案可以工作,但这个正则表达式将非常复杂。
3 - 创建一些基于 BNF 语法的解析器来完成这项任务。我认为这是更简单的解决方案,但我不知道如何从这一点开始。
好吧,我希望你能帮助我找到更好的解决方案。