是否有任何工具允许您“查询”(而不是简单地搜索)JDK文档?例如:
>向我展示所有弃用的方法.
>向我展示特定类的所有子类(而不仅仅是文档提供的直接子类).
>显示返回(比方说)线程的所有方法.
>显示给定方法名称的所有实例,无论签名如何.
提出这个问题的原因是我弄乱了两个完全不相关的方法,我偶尔只使用它们:Pattern.matches()和Matcher.matches().然后我发现还有PathMatcher.matches(),它也有一个完全不相关的目的.这让我想知道JDK中有多少其他“匹配()”方法.然后我认为可能还有其他有用的查询也可以针对JDK文档运行.
拥有这样一个工具的唯一动机是帮助我用有趣或有用的信息(至少对我来说)来提高我自己的Java知识,但是不容易获得.这question is similar,但我正在寻找比简单搜索更复杂的东西.
ETA:Marcel在下面使用Doclet API的建议提供了一个很好的解决方案,而不需要太多努力.
ETA2:重新确定弃用的方法,我刚刚发现Oracle已经在JavaDoc API here中解决了这个问题
最佳答案 难道你是从错误的角度接近这个吗?而不是解析文档,这是已经转换的源代码表示,为什么不直接解析JDK的源代码或字节代码?
> parsing byte code
> parsing source code
>使用Doclet API挂钩到Javadoc工具(即让Javadoc为你解析代码)
根据您的需要,您可能还想采取非常简单的道路,并在reflections library上扫描您的类路径.
Reflections reflections = new Reflections("some.package");
Set<Method> voidMethods = reflections.getMethodsReturn(Thread.class);
话虽如此,但不要忘记任何好的IDE都可以挖掘出你想要寻找的大量信息(例如,搜索称为匹配的方法).