Enums ordering in javadoc
用于枚举的JavaDoc总是使用字母顺序显示其常量。有可能改变吗?
例如,如果常量不显示为星期五、星期一、星期六、星期日、星期四、星期二、星期三,那么用于java.time.DayOfWeek的javadoc看起来会更好。
- 我不知道是否有可能,但是新的Java时代JavaDoc无法做到这一点:DOCS.Oracle .COM/JavaSe/8/DOCS/API/Java/Time/DayOfWeb.HTML。
- 我不太明白这个问题。
- 您的枚举示例似乎来自java8中的dayofweek。在枚举中查看compareto方法的java8 javadoc,它的顺序看起来像是声明值的顺序,这在您的示例中是按字母顺序排列的。
- @abimarankugathasan op在询问为什么javadoc工具会按字母顺序而不是声明的顺序为声明的枚举值生成文档,以及是否可以更改此行为。
- 不仅枚举,所有字段和方法都是按字母顺序排列的。
- @不过,但丁矿的价值观从周一到周日都是按顺序公布的。我不确定JavaDoc工具是否在内部使用compareTo()方法来排序其输出,在这种情况下,似乎不会发生这种情况。
- @用户3580294你是对的,我刚刚也看过他们的代码。这真是一个有趣的问题。我猜答案就在JavaDoc工具中。
- 读过这篇文章,我刚刚看到:There is no standard mechanism to replace the Javadoc of a method whose source code you don't control, but you could probably mess around with either the build tool, or, if all else fails, the final Javadoc HTML.。
- @但丁普尔,我用java.time.DayOfWeek作为例子。实际上,我对更改我自己类的javadoc非常感兴趣。
- 正如Ggovan在回答中所说,我正要提到客户文档的可能性。
- 给出了一个可以真正视为典型的示例文档,我想问一下我们是否可以去掉这个"摘要"部分,它消耗的空间几乎与细节部分(它按声明顺序显示项目)相同…
默认的HTML doclet对其成员的摘要进行排序。
来自/com/sun/tools/doclets/internal/toolkit/builders/memberSummaryBuilder.java:312
最好不要这样做。
JavaDoc将摘要按字母顺序排列,以便快速找到所需的摘要。打破这个模型会使javadoc很难快速地扫描并找到您要查找的内容。
字母顺序仅适用于摘要,完整的javadoc将按源文件中的decloration顺序排列。
如果您真的需要这样做,那么您可以滚动您自己的doclet,或者也许一个taglet可以这样做。
- 引用"你不能"会把这变成一个有价值的答案。
- @布鲁诺找不到推荐信,因为你找不到,可能得看看资料来源来证明。但是,在总结中没有任何一种记录在案的机制来改变事情的顺序,我们都可以找到。
- "默认的HTML doclet不能这样做"的基础是什么?事实上,我们中的任何一个都能找到一种方法来做到这一点?
- @布鲁诺很难找到不存在特征的证据。在检查了JavaDoc手册页、Oracle文档、JavaDoc Dev邮件列表以及其他内容之后,我发现我做过的任何事情都没有受到威胁,于是就抓住了来源来证明这一点。我希望这能让你满意。