java - 查询Java的JDK文档元数据

标签 java

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

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

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

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

预计到达时间:Marcel 下面关于使用 Doclet API 的建议提供了一个很好的解决方案,无需太多努力。

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

最佳答案

会不会是您从错误的角度来处理这个问题?为什么不直接解析 JDK 的源代码或字节码,而不是解析已转换的源代码表示形式的文档?

根据您的需要,您可能还想走一条真正简单的路,让 reflections library 扫描您的类路径。 .

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

话虽如此,但不要忘记任何优秀的 IDE 都可以挖掘出您似乎正在寻找的大量信息(例如,搜索名为 matches 的方法)。

关于java - 查询Java的JDK文档元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20577413/

相关文章:

java - 如何在 Android 中将 Bangla 字体设置为 TextView

java - 升级到 3.1.1 后的 Maven-plugin-plugin default-descriptor 错误信息

java - 刷新输入流 : java

java - Liferay Tomcat 与另一个 CMS 系统运行在同一个 Linux 机器上

java - JNotify 无法识别 Linux 系统更改的文件

java - 如何使用 Java 程序在 Linux 服务器中使用给定用户 ID 的密码执行 sudo 命令?

java - tomcat java php

java - 在未知的 java.util.Map 类型上强制 Java 到 Scala 显式类型转换

java - 将 int 与 char 数组中的值相乘不起作用

Java 8 java.util.stream.流