一尘不染

查找实现接口的Java类

java

前一段时间,我遇到了一段代码,该代码使用了一些标准Java功能来定位实现给定接口的类。我知道这些函数隐藏在某些非逻辑的位置,但是由于包名称暗含,它们可以用于其他类。那时我不需要它,所以我忘记了它,但是现在我需要了,而且似乎无法再次找到这些函数。在哪里可以找到这些功能?

编辑:我不是在寻找任何IDE函数或任何东西,而是可以在Java应用程序中执行的东西。


阅读 471

收藏
2020-03-04

共1个答案

一尘不染

不久前,我整理了一个程序包,可以做您想做的事情,以及更多。(我正在编写的实用程序需要它)。它使用ASM库。您可以使用反射,但事实证明ASM的性能更好。

我将程序包放在网站上的开源库中。该库位于:http : //software.clapper.org/javautil/。您要从 with ClassFinder类开始。

我为之编写的实用程序是我每天仍在使用的RSS阅读器,因此该代码的确易于使用。我使用ClassFinder在RSS阅读器中支持插件API。启动时,它将在几个目录树中查找jar和类文件,这些jar和类文件包含实现特定接口的类。它比您预期的要快得多。

该库是BSD许可的,因此您可以安全地将其与代码捆绑在一起。源可用。

如果这对您有用,请自助。

更新:如果您使用的是Scala,则可能会发现此库更加适合Scala。

2020-03-04