给定一个Java源代码文件,找出它是否实现给定接口的快速可靠方法是什么?
一种可靠的方法是将文件解析为语法树(例如使用Eclipse的ASTNode类)并寻找正确的节点。
一种快速的方法是查找带有“实现”的行,将那些在注释中的行踢掉,并将接口与适当的import语句相关联。我可能在这里错过了一些奇怪的其他情况。
你会怎么做?
我要说的是,解析源代码文件既快速又可靠。但是,我想,“快速”是一个模糊的概念,它的确取决于。不过,与扫描源文件中是否出现“实现”一词相比,我不会期望有太多开销。因此- 如果后者对您来说很好,我想前者也应该可以接受吗?
的。javax.tools * API将是一个很好的介入点上手; 但是,那里也有许多用于Java的(开源)源代码解析器。
另外,这是Oracle网站上的介绍性博客文章。