57

*/JavaDoc コメントに含める必要があります。問題は、これがコメントを閉じるための同じシーケンスでもあることです。これを引用/エスケープする適切な方法は何ですか?

例:

/**
 * Returns true if the specified string contains "*/".
 */
public boolean containsSpecialSequence(String str)

追記/:スラッシュに使えそうです。唯一の欠点は、テキスト エディターでコードを直接表示した場合、これだけでは十分に読めないことです。

/**
 * Returns true if the specified string contains "*/".
 */
4

6 に答える 6

44

HTMLエスケープを使用します。

したがって、あなたの例では:

/**
 * Returns true if the specified string contains "*/".
 */
public boolean containsSpecialSequence(String str)

/「/」文字としてエスケープします。

Javadocは、エスケープされたシーケンスを、生成するHTMLに無秩序に挿入する必要があり、ブラウザでは「*/」としてレンダリングされる必要があります。

非常に注意したい場合は、両方の文字をエスケープできます*/*/

編集:

フォローアップ:使用できるようです/ スラッシュのために。唯一の欠点は、コードを直接表示したときに、これがそれほど読みやすくないことです。

それで?重要なのは、コードを読みやすくすることではなく、コードのドキュメントを読みやすくすることです。ほとんどのJavadocコメントには、説明のために複雑なHTMLが埋め込まれています。地獄、C#の同等物は完全なXMLタグライブラリを提供します。私はそこにいくつかのかなり複雑な構造を見てきました、あなたに話させてください。

編集2: 気になる場合は、エンコーディングを説明するjavadoc以外のインラインコメントを埋め込むことができます。

/**
 * Returns true if the specified string contains "*/".
 */
// returns true if the specified string contains "*/"
public boolean containsSpecialSequence(String str)
于 2009-03-10T19:15:04.497 に答える
9
/**
 * Returns true if the specified string contains "*/".
 */

これは「正しい」解決策ですが、読みやすさのために、おそらく次のようにします。

/**
 * Returns true if the string contains an asterisk followed by slash.
 */
于 2009-03-10T21:03:15.690 に答える
6

エンティティを使用する

*/ 

ドキュメントでは、「*/」として表示されます

于 2009-03-10T19:15:27.273 に答える
6

完全を期すために、私が偶然見つけた別の方法: * と / の間の出力を変更しない HTML マークアップを追加します。

  /**
   * *<b/>/
   */

HTML エスケープ ソリューションと比較すると、これは見苦しいハックのように見えますが、HTML 出力でも適切な結果が得られます。

于 2009-03-10T19:39:35.640 に答える
6

次のようなことを言う近くに行コメントを追加することもお勧めします

// *&#47; is html for */
于 2009-03-10T19:44:32.447 に答える