如何在文件Java中记录参数?
How to document Java Record parameters?
应该如何记录 Java Record 参数?我指的是最终成为构造函数参数的参数,class 字段。
我试过了:
/**
* @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 中发现了一些 unit tests 似乎暗示这应该有效。也许这是一个 IDE 错误?
我正在使用 OpenJDK14+36-1461,IDEA 2020.1.
我针对 IDEA 提出了 bug report 以防万一。
IntelliJ 错误/缺失功能
使用 14-ea
及更高版本的 javadoc
的内置 JDK 工具,我可以轻松地为 record
.[=16= 生成 Javadoc ]
同样使用的命令是\
/jdk-14.jdk/.../javadoc --release=14 --enable-preview .../src/main/java/.../CityRecord.java
所以这肯定是 IntelliJ 中缺少的东西。 (因为 'Add Javadoc' 选项也不包含组件。)
我必须从 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
您还可以覆盖生成的记录方法并提供有关它们的文档:
public record Animal(String name, int age) {
/**
* The name of the animal
*
* @return the name
*/
public String name() {
return name;
}
/**
* Gets the age of the animal
*
* @return the age
*/
public int age() {
return age;
}
}
重要的是要记住这是一个例子。如果您的 getter 文档只是 @return the method name
,添加 javadoc 几乎没有任何价值(除了您的工作环境可能提出的要求)。
应该如何记录 Java Record 参数?我指的是最终成为构造函数参数的参数,class 字段。
我试过了:
/**
* @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 中发现了一些 unit tests 似乎暗示这应该有效。也许这是一个 IDE 错误?
我正在使用 OpenJDK14+36-1461,IDEA 2020.1.
我针对 IDEA 提出了 bug report 以防万一。
IntelliJ 错误/缺失功能
使用 14-ea
及更高版本的 javadoc
的内置 JDK 工具,我可以轻松地为 record
.[=16= 生成 Javadoc ]
同样使用的命令是\
/jdk-14.jdk/.../javadoc --release=14 --enable-preview .../src/main/java/.../CityRecord.java
所以这肯定是 IntelliJ 中缺少的东西。 (因为 'Add Javadoc' 选项也不包含组件。)
我必须从 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
您还可以覆盖生成的记录方法并提供有关它们的文档:
public record Animal(String name, int age) {
/**
* The name of the animal
*
* @return the name
*/
public String name() {
return name;
}
/**
* Gets the age of the animal
*
* @return the age
*/
public int age() {
return age;
}
}
重要的是要记住这是一个例子。如果您的 getter 文档只是 @return the method name
,添加 javadoc 几乎没有任何价值(除了您的工作环境可能提出的要求)。