2009-10-05 5 views
81

Использование Javadoc 1.5, мне не удалось создать @link для значения Enumeration.Как связать @ Enabled с использованием Javadoc

То, что я хотел бы сделать, это создать Enum так:

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} 

Ключ в том, что пакет Planet должен быть импортирован, или планета должна быть полностью квалифицирован - то есть:

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

Как отметил sfussenegger, Eclipse обрабатывает импорт для вас. – aperkins

+0

Спасибо оба ответа полезным! Я получил его для работы, используя полностью квалифицированную ссылку. Иногда вывод компилятора не очень полезен при определении того, что проблема ... –

+2

Что делать, если enum определено в классе A, а один пытается ссылаться на одно из своих значений из класса B javadoc? Я не нашел ни 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. Тем не менее, может быть @see делает трюк для вас.

+2

Мне нравится '@ see', но иногда вам нужны специальные случаи. Например, мои заказы имеют метод 'isWithdrawn()', и я специально говорю '@return true, если статус этого порядка равен OrderStatus # WITHDRAWN, false иначе' – corsiKa

2

До тех пор, как он импортируется вы можете связать его (но когда вы это сделаете, IMO делает импорт грязным - какие используются в коде и какие в javadoc? Мне нравится просто использовать полное имя).

Но да, Eclipse может взять на себя все это и стандартный

{@link Planet#EARTH} 

работает отлично.

Если вы используете Eclipse, Ctrl + Shift + O (на ПК) или Cmd + Shift + O (на Mac), автоматически настраивайте импорт (это означает, что если у вас есть дополнительный импорт, который не используется, они удаляются, а также добавление необходимых им импортных данных).

Смежные вопросы