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.