泛型类型 <P>在 Javadoc 中转换为段落标记

2022-09-01 12:16:07

我有一个泛型类型为P的Java类。我想用Javadoc记录它。通常我只是这样做:

/**
 * ...
 * @param <P> the type of publisher
 */

这在实际的Javadoc中显示得很好。但是,CheckStyle警告我需要记录类型P,因为它将<P>呈现为HTML段落。此外,Eclipse 格式化程序也会将其解释为段落,因此会弄乱格式。

有没有更好的方法来记录带有类型 P 的类型参数?我知道我可以禁用Eclipse格式化程序以不再自动格式化javadoc,但我宁愿不这样做(无论如何它都不会解决checkstyle问题)。

我也知道我可以将P重命名为其他名称,但是考虑到我在这里使用的泛型类型的数量,这将使事情的可读性大大降低。


答案 1

这是CheckStyle中的一个错误

官方Javadoc文档说这种表示法是正确的:

类的类型参数示例:

 /**
  * @param <E> Type of element stored in a list
  */

如果您坚持使用此版本的 CheckStyle,则满足这两个约束的唯一方法是将类型参数重命名为其他名称。P


答案 2

对于后代:事实证明,Checkstyle处理得很好。问题在于,Eclipse 格式化程序添加的空格使 Checkstyle(合理地)认为 Javadoc 是不正确的。我还在Eclipse中发现了这个错误的现有错误报告:https://bugs.eclipse.org/bugs/show_bug.cgi?id=121728


推荐