2009-10-05 12 views
81

Verwenden von Javadoc 1.5 konnte ich nicht zu einem Link zu einem Enumeration-Wert erstellen.Wie @link zu einem Enum-Wert mithilfe von Javadoc

Was würde ich tun möchte, ist eine Enum wie diese zu erstellen:

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 
} 

Und dann auf die Javadoc für die Erde beziehen Sie einen Link wie folgt aus:

{@link Planet.EARTH} 

ich versucht habe, die {@link Planet#EARTH} Stil auch, aber ohne Erfolg.

Wer weiß, ob das überhaupt machbar ist?

Antwort

126

Die # Art arbeitet für mich:

{@link Planet#EARTH} 

Der Schlüssel ist, dass der Planet Paket importiert werden muss, oder Planeten muss vollständig qualifiziert sein - das heißt:

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

Wie sfussenegger erwähnt, behandelt Eclipse den Import für Sie. – aperkins

+0

Danke beide Antworten hilfreich! Ich habe es mit der voll qualifizierten Referenz zum Laufen gebracht. Manchmal ist die Compiler-Ausgabe nicht wirklich hilfreich bei der Bestimmung, was das Problem ist ... –

+2

Was ist, wenn enum in Klasse A definiert ist und man versucht, einen seiner Werte aus Klasse B javadoc zu referenzieren? Ich habe weder A.Planet # EARTH noch A # Planet # EARTH für OpenJDK 1.6 Update 24 Javadoc gefunden, obwohl Eclipse weiß, Deklaration mit A.Planet # EARTH Stil zu finden. –

4

ich Eclipse-bin mit dieser zu überprüfen, aber

{@link Planet#EARTH} 

Stil scheint zu funktionieren. Normalerweise bevorzuge ich jedoch

sowieso. Ich bin mir nicht sicher, was Eclipse zum Generieren von Javadoc verwendet, aber ich verwende JDK6. Trotzdem, vielleicht macht @see den Trick für dich.

+2

Ich mag '@ sehen', aber manchmal brauchen Sie spezielle Fälle. Zum Beispiel haben meine Bestellungen eine 'isWithdrawn()' Methode, und ich sage ausdrücklich '@return true, wenn der Status dieser Bestellung gleich OrderStatus # WITHDRAWN ist, ansonsten false ' – corsiKa

2

Solange es importiert wird Sie können es verknüpfen (aber wenn Sie dies tun, IMO macht es die Importe chaotisch - welche sind in Code und welche in Javadoc verwendet? Ich mag nur den voll qualifizierten Namen verwenden).

Aber ja, Eclipse kann darum kümmern alle und Standard

{@link Planet#EARTH} 

funktioniert gut.

Wenn Sie Eclipse, Strg + Shift + O (auf PC) oder Cmd + Shift + O (auf Mac) verwenden, passen Sie Ihre Importe automatisch an (dh wenn Sie keine zusätzlichen Importe verwenden, werden sie entfernt.) sowie das Hinzufügen von Importen, die Sie benötigen).

Verwandte Themen