Javadoc kullanarak bir Enum Değerine @link nasıl oluşturulur


121

Javadoc 1.5 kullanarak, Numaralandırma değerine bir @ bağlantısı oluşturamadım.

Yapmak istediğim şey, şöyle bir Enum oluşturmak:

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
}

Ve sonra aşağıdaki gibi bir bağlantı kullanarak Dünya için Javadoc'a bakın:

{@link Planet.EARTH}

{@link Planet#EARTH}Stili ben de denedim ama boşuna.

Bunun mümkün olup olmadığını bilen var mı?

Yanıtlar:


197

#Tarzı benim için çalışıyor:

{@link Planet#EARTH}

Anahtar, Planetpaketin içe aktarılması veya Planettam nitelikli olması gerektiğidir - yani:

{@link com.yourpackage.Planet#EARTH}

Sfussenegger'in belirttiği gibi, Eclipse sizin için içe aktarımı gerçekleştirir.
— aperkins

Teşekkürler her iki cevap da yardımcı oldu! Tam nitelikli referansı kullanarak çalışmasını sağladım. Bazen derleyici çıktısı sorunun ne olduğunu belirlemede gerçekten yardımcı olmaz ...
— Christer Fahlgren

3
Ya enum A sınıfı içinde tanımlanmışsa ve biri B sınıfından javadoc değerlerinden birine başvurmaya çalışıyorsa? Ne A.Planet # EARTH ne de A # Planet # EARTH'ı OpenJDK 1.6 güncelleme 24 javadoc için çalışacak buldum, ancak tutulma A.Planet # EARTH stiliyle bir açıklama bulmayı biliyor.
— Stevo Slavić

Maalesef, statik bir enum içe aktarmanız varsa bu işe yaramaz. En azından intellij fikrinde, paketler vb.
— İle

6

Bunu kontrol etmek için Eclipse kullanıyorum ama

{@link Planet#EARTH}

stil işe yarıyor gibi görünüyor. Ancak normalde tercih ederim

@see Planet#EARTH

neyse. Eclipse'in Javadoc'u oluşturmak için ne kullandığından emin değilim, ancak JDK6 kullanıyorum. Yine de, belki @see işinizi görür.


4
Seviyorum @seeama bazen özel vakalara ihtiyacın oluyor. Örneğin, siparişlerimin bir isWithdrawn()yöntemi var ve özellikle diyorum ki@return true if the status of this order is equal to OrderStatus#WITHDRAWN, false otherwise
— corsiKa

2

İçe aktarıldığı sürece onu bağlayabilirsiniz (ancak bunu yaptığınızda, IMO içe aktarımları karmaşık hale getirir - hangileri kodda ve hangileri javadoc'da kullanılır? Tam nitelikli adı kullanmayı seviyorum).

Ama evet, Eclipse hepsini halledebilir ve standart

{@link Planet#EARTH}

iyi çalışıyor.

Eclipse, Ctrl + Shift + O (PC'de) veya Cmd + Shift + O (Mac'te) kullanıyorsanız, içe aktarmalarınızı otomatik olarak ayarlayın (bu, kullanılmayan fazladan içe aktarmalarınız varsa, bunların kaldırılmasının yanı sıra ihtiyacınız olan herhangi bir ithalat).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.