查询Java JDK文档的元数据

时间:2013-12-13 22:56:04

标签: java

是否有任何工具可以让您“查询”(而不是简单地搜索)JDK文档?例如:

  • 告诉我所有弃用的方法。
  • 显示特定类的所有子类(而不仅仅是文档提供的直接子类)。
  • 告诉我所有返回(比方说)线程的方法。
  • 显示给定方法名称的所有实例,无论签名如何。

提出这个问题的原因是我混淆了两种完全不相关的方法,我偶尔只使用它们:模式。匹配()和匹配。匹配()。然后我发现还有PathMatcher。匹配(),它也有完全不相关的目的。这让我想知道JDK中有多少其他“匹配()”方法。然后我认为可能还有其他有用的查询也可以针对JDK文档运行。

拥有这样一个工具的唯一动机是帮助我用有趣或有用的信息(至少对我来说)来提高我自己的Java知识,但这并不容易获得。这question is similar,但我正在寻找比简单搜索更复杂的东西。

ETA:Marcel在下面使用Doclet API的建议提供了一个很好的解决方案,而不需要太多努力。

ETA2:重新确定弃用的方法,我刚刚发现Oracle已经在JavaDoc API中解决了这个问题here

1 个答案:

答案 0 :(得分:2)

难道你是从错误的角度接近这个吗?而不是解析文档,这是已经转换的源代码表示,为什么不直接解析JDK的源代码或字节代码?

根据您的需要,您可能还想走非常轻松的路,并通过reflections library扫描您的类路径。

Reflections reflections = new Reflections("some.package");
Set<Method> voidMethods = reflections.getMethodsReturn(Thread.class);

说过不要忘记任何好的IDE都可以挖掘出你想要寻找的很多信息(例如搜索名为matches的方法)。