如何记录Java记录参数?

如何记录Java Record参数?我指的是最终成为构造函数参数、类字段的参数。

我已尝试:

/**
 * @param name the name of the animal
 * @param age the age of the animal
 */
public record Animal(String name, int age)
{
}
但IntelliJ IDEA将@param%s标记为错误。我在网上找不到一个这样做的例子。我找到的最接近的讨论是https://bugs.openjdk.java.net/browse/JDK-8225055。

我在JDK中发现了一些unittests,它们似乎暗示这应该是可行的。也许这是一个IDE错误?

我使用的是OpenJDK 14+36-1461,IDEA 2020.1。

我提交了bug report反对意见,以防万一。


解决方案

IntelliJ错误/缺少功能

使用14-ea及更高版本javadoc的内置JDK工具,我可以轻松地为record生成Javadoc。

用于相同操作的命令为

/jdk-14.jdk/.../javadoc --release=14 --enable-preview .../src/main/java/.../CityRecord.java

所以这肯定是IntelliJ中缺少的东西。(因为"Add Javadoc"选项也不包括组件。)

我必须从IntelliJ开发的角度进行补充,当然,作为一项预览功能,将专门用于IntelliJ的工作划分到这样的程度也是一个必须仔细考虑的问题。


更新:我可以验证IntelliJ:

的最新更新是否已修复此问题
IntelliJ IDEA 2020.2.2 Preview (Community Edition)
Build #IC-202.7319.5, built on September 1, 2020
Runtime version: 11.0.8+10-b944.31 x86_64

相关文章