2009-10-05 39 views
81

Javadoc 1.5を使用すると、列挙値に@リンクを作成できませんでした。Javadocを使用してEnum値に@linkする方法

私は何をしたいのは、このように列挙型を作成することです:

public enum Planet { 

/** 
* MERCURY is a fun place. 
*/ 
MERCURY, 

/** 
* VENUS is more fun. 
*/ 
VENUS, 

/** 
* But nothing beats the Earth. 
*/ 
EARTH, 

/** 
* Others we know nothing about. 
*/ 
OTHERS 
} 

そして、このようなリンクを使用して、地球のためのJavadocを参照してください:私が試してみました

{@link Planet.EARTH} 

{@link Planet#EARTH}スタイルもありますが、無駄です。

これはまったく実行可能かどうかは知っていますか?

答えて

126

#スタイルは私の作品:

{@link Planet#EARTH} 

キーは惑星パッケージをインポートする必要があり、または惑星は完全修飾でなければならないということである - すなわち:

{@link com.something.somethingelse.Planet#EARTH} 
+0

sfusseneggerが指摘するように、Eclipseがインポートを処理します。 – aperkins

+0

お返事ありがとうございました!私はそれを完全な参照を使用して動作するようにしました。コンパイラの出力は、問題が何であるかを判断するのに本当に役に立たない場合があります... –

+2

クラスA内でenumが定義されていて、クラスBのjavadocからその値の1つを参照しようとするとどうなりますか? 私は、A.Planet#EARTHとA#Planet#EARTHのどちらもOpenJDK 1.6のアップデート24 javadocで動作することはありませんでしたが、eclipseはA.Planet#EARTHスタイルで宣言を見つけることを知っています。 –

4

私はこれを確認するためにEclipseを使用していますが、

{@link Planet#EARTH} 

スタイルが動作しているようです。しかし、私はいつも好きです

@see Planet#EARTH 

とにかく私は好きです。 EclipseがJavadocを生成するために使用するものはわかりませんが、私はJDK6を使用しています。それでも、たぶん@はあなたのためのトリックをします。

+2

私は '@ see'が好きですが、時には特殊なケースが必要です。例えば、私の注文は 'isWithdrawn()'メソッドを持っています。特に '@returnこの注文のステータスがOrderStatus#WITHDRAWNと等しい場合はtrue、そうでない場合はfalse ' – corsiKa

2

限り、それが輸入だとしてあなたはリンクすることができます(ただし、これを行うと、IMOによってインポートが乱雑になります。コードで使用されるものとjavadocで使用されるものは何ですか?完全修飾名を使用するだけです)。

しかし、はい、Eclipseはそれをすべての世話をすることができますし、標準

{@link Planet#EARTH} 

が正常に動作します。

使用しているEclipseがCtrl + Shift + O(PC)またはCmd + Shift + O(Macの場合)でインポートを自動調整している場合(これは、余分なインポートが使用されていない場合、あなたが必要とする輸入品を追加することができます)。

関連する問題