有什么区别
/** * comment * * */
和
/* * * comment * */
在 Java 中?我应该什么时候使用它们?
第一种形式称为Javadoc。当您为您的代码编写正式的 API(由该javadoc工具生成)时,您可以使用它。例如,Java 7 API 页面使用 Javadoc 并由该工具生成。
javadoc
您会在 Javadoc 中看到的一些常见元素包括:
@param:这用于指示将哪些参数传递给方法,以及它们期望具有什么值
@param
@return:这用于指示该方法将返回什么结果
@return
@throws:这用于指示方法在某些输入的情况下抛出异常或错误
@throws
@since:这用于指示该类或函数可用的最早 Java 版本
@since
例如,这里是compare方法的 Javadoc Integer:
compare
Integer
/** * Compares two {@code int} values numerically. * The value returned is identical to what would be returned by: * <pre> * Integer.valueOf(x).compareTo(Integer.valueOf(y)) * </pre> * * @param x the first {@code int} to compare * @param y the second {@code int} to compare * @return the value {@code 0} if {@code x == y}; * a value less than {@code 0} if {@code x < y}; and * a value greater than {@code 0} if {@code x > y} * @since 1.7 */ public static int compare(int x, int y) { return (x < y) ? -1 : ((x == y) ? 0 : 1); }
第二种形式是块(多行)注释。如果您想在评论中有多行,您可以使用它。
我会说您只想 谨慎 使用后一种形式;也就是说,您不希望使用不描述方法/复杂函数应该具有的行为的块注释来使代码负担过重。
由于 Javadoc 在两者中更具描述性,并且您可以通过使用它来生成实际文档,因此使用 Javadoc 比简单的块注释更可取。