2009-10-05 12 views
81

Utilizzando Javadoc 1.5, non sono stato in grado di creare un @link a un valore di Enumerazione.Come @link a un valore Enum utilizzando Javadoc

Quello che vorrei fare è di creare un Enum come questo:

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 
} 

E poi fare riferimento al Javadoc per la Terra utilizzando un link come questo:

{@link Planet.EARTH} 

Ho provato il Stile {@link Planet#EARTH}, ma senza alcun risultato.

Qualcuno sa se questo è fattibile a tutti?

risposta

126

Il # stile funziona per me:

{@link Planet#EARTH} 

La chiave è che il pacchetto pianeta deve essere importato, o un pianeta deve essere completo - vale a dire:

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

Come notato da sfussenegger, Eclipse gestisce l'importazione per te. – aperkins

+0

Grazie a entrambe le risposte utili! L'ho fatto funzionare usando il riferimento completo. A volte l'output del compilatore non è veramente utile nel determinare quale sia il problema ... –

+2

Cosa succede se enum è definito all'interno della classe A e si sta tentando di fare riferimento a uno dei suoi valori dalla classe B javadoc? Non ho trovato né A.Planet # EARTH né A # Planet # EARTH per lavorare con l'aggiornamento di OpenJDK 1.6 24 javadoc, sebbene eclipse sappia trovare la dichiarazione con lo stile EARTH di A.Planet #. –

4

Sto usando Eclipse per controllare questo, ma

{@link Planet#EARTH} 

stile sembra funzionare. Tuttavia, di solito preferisco

@see Planet#EARTH 

in ogni caso. Non sono sicuro di cosa usi Eclipse per generare Javadoc, ma sto usando JDK6. Comunque, forse @eeee fa il trucco per te.

+2

Mi piace '@ vedere', ma a volte hai bisogno di casi speciali. Ad esempio, i miei ordini hanno un metodo 'isWithdrawn()', e dico specificatamente '@return true se lo stato di questo ordine è uguale a OrderStatus # WITHDRAWN, false altrimenti ' – corsiKa

2

Finché è importata puoi collegarlo (ma quando lo fai, IMO rende le importazioni disordinate - quali sono usate nel codice e quali sono in javadoc? Mi piace usare solo il nome completo).

Ma sì, Eclipse può prendersi cura di tutto e di serie

{@link Planet#EARTH} 

funziona bene.

Se si utilizza Eclipse, Ctrl + Shift + O (su PC) o Cmd + Shift + O (su Mac) regolare automaticamente le importazioni (questo significa che se non si utilizzano importazioni extra, vengono rimosse, così come aggiungere qualsiasi importazione di cui hai bisogno).

Problemi correlati