1. ホーム

[解決済み】Javaコメントにおける/**と/*について

2022-04-12 01:09:31

質問

とはどう違うのですか?

/**
 * comment
 *
 *
 */

そして

/*
 * 
 * comment
 *
 */

をJavaで作成しますか?いつ使うべきですか?

どのように解決するのですか?

最初のフォームは ジャバドック . これを使うのは、自分のコードに正式なAPIを書くときで、生成されるのは javadoc ツールを使用します。 例として Java 7 API のページ はJavadocを使用しており、そのツールで生成されたものです。

Javadocでよく目にする要素には、以下のようなものがあります。

  • @param これは、メソッドに渡されるパラメータとその値を示すために使用されます。

  • @return これは、そのメソッドがどのような結果を返すかを示すために使用されます。

  • @throws これは、あるメソッドが特定の入力の場合に例外やエラーを投げることを示すために使用されます。

  • @since これは、このクラスや関数が利用可能な最も古い Java バージョンを示すために使用されます。

例として、次のようなJavadocがあります。 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);
}

2つ目の形式は、ブロック(複数行)コメントです。 1つのコメントに複数の行を持たせたい場合に使用します。

後者の形式しか使いたくないと言うことです。 惜しげもなく つまり、メソッドや複雑な関数が持つべき動作が記述されていないブロックコメントでコードを圧迫したくないということです。

Javadocはより説明的であり、それを使用した結果として実際のドキュメントを作成することができるので、単純なブロックコメントよりもJavadocを使用する方がより好ましいでしょう。