Javadoc का उपयोग करके Enum मान के लिए @link कैसे करें


120

Javadoc 1.5 का उपयोग करते हुए, मैं एन्यूमरेशन मान के लिए एक @link बनाने में असमर्थ रहा हूं।

इस तरह एक 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}शैली की भी कोशिश की है, लेकिन कोई फायदा नहीं हुआ।

किसी को पता है कि यह सब करने योग्य है?

जवाबों:


196

#शैली मेरे लिए काम करता है:

{@link Planet#EARTH}

कुंजी यह है कि Planetपैकेज आयात किया जाना चाहिए, या Planetपूरी तरह से योग्य होना चाहिए - यानी:

{@link com.yourpackage.Planet#EARTH}

जैसा कि sfussenegger ने कहा, ग्रहण आपके लिए आयात को संभालता है।
एपर्किंस

धन्यवाद दोनों उत्तर मददगार! मुझे यह पूरी तरह से योग्य संदर्भ का उपयोग करके काम करने के लिए मिला। कभी-कभी कंपाइलर आउटपुट वास्तव में यह निर्धारित करने में मददगार नहीं होता है कि समस्या क्या है ...
क्रिस्टर फाहलग्रेन

3
क्या होगा यदि एनम को वर्ग ए के भीतर परिभाषित किया गया है और एक कक्षा बी जेवाडोक से इसके मूल्यों को संदर्भित करने की कोशिश कर रहा है? मैंने OpenJDK 1.6 अद्यतन 24 javadoc के लिए काम करने के लिए न तो A.Planet # EARTH और न ही एक # ग्रह # EARTH पाया है, हालांकि ग्रहण A.Planet # EARTH शैली के साथ घोषणा करना जानता है।
Stevo Slavić

दुर्भाग्य से अगर आपके पास enum का स्थैतिक आयात है तो यह काम नहीं करता है। IntelliJ विचार में कम से कम वहाँ जावाडोक में एक स्थिर आयातित enum उपयोग करने के लिए कोई रास्ता नहीं है, जब तक आप के साथ संकुल आदि पूरी तरह से योग्य enum नाम का उपयोग
dhblah

6

मैं इसे जांचने के लिए ग्रहण का उपयोग कर रहा हूं, लेकिन

{@link Planet#EARTH}

शैली काम करने लगती है। हालांकि, मैं आम तौर पर पसंद करता हूं

@see Planet#EARTH

वैसे भी। यह सुनिश्चित नहीं है कि जावदोक उत्पन्न करने के लिए ग्रहण क्या उपयोग करता है, लेकिन मैं JDK6 का उपयोग कर रहा हूं। फिर भी, शायद @ वह आपके लिए ट्रिक करता है।


4
मुझे पसंद है @seeलेकिन कभी-कभी आपको विशेष मामलों की आवश्यकता होती है। उदाहरण के लिए, मेरे आदेश में एक isWithdrawn()विधि है, और मैं विशेष रूप से कहता हूं@return true if the status of this order is equal to OrderStatus#WITHDRAWN, false otherwise
corsiKa

2

जब तक यह आयात किया जाता है आप इसे लिंक कर सकते हैं (लेकिन जब आप ऐसा करते हैं, तो IMO यह आयात को गड़बड़ कर देता है- कोड में क्या उपयोग किया जाता है और javadoc में क्या उपयोग किया जाता है? मैं सिर्फ पूरी तरह से योग्य नाम का उपयोग करना पसंद करता हूं)।

लेकिन हां, ग्रहण सभी और मानक का ख्याल रख सकता है

{@link Planet#EARTH}

ठीक काम करता है।

यदि आपका ग्रहण, Ctrl + Shift + O (पीसी पर) या Cmd + Shift + O (मैक पर) आपके आयात को स्वतः समायोजित करता है (इसका मतलब है कि अगर आपके पास अतिरिक्त आयात नहीं हो रहा है, तो उन्हें हटा दिया जाता है, साथ ही साथ जोड़ दिया जाता है किसी भी आयात की जरूरत है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.