खुद के एनोटेशन के लिए वैकल्पिक पैरामीटर कैसे बनाएं?


89

निम्नलिखित एनोटेशन कोड है

public @interface ColumnName {
   String value();
   String datatype();
 }

मैं datatypeउदाहरण के लिए एक वैकल्पिक पैरामीटर बनाना चाहूंगा

@ColumnName(value="password") 

एक मान्य कोड होना चाहिए।

जवाबों:


125

आधिकारिक दस्तावेज में पहले उदाहरण की तरह लगता है यह सब कहते हैं ...

/**
 * Describes the Request-For-Enhancement(RFE) that led
 * to the presence of the annotated API element.
 */
public @interface RequestForEnhancement {
    int    id();
    String synopsis();
    String engineer() default "[unassigned]"; 
    String date()     default "[unimplemented]"; 
}

1
मैं केवल tutorials.ie को देख रहा था कि मैं यह क्यों नहीं ढूंढ सका। मुझे पता है कि मैं अनसाइनड और अनइम्प्लॉईड के बीच का अंतर जानता हूं
बीजू सीडी

16
कोई अंतर नहीं है। वे सिर्फ स्ट्रिंग मूल्य हैं। वे "पीटर" और "पॉल" हो सकते हैं।
स्पार्कसाइडर

5
और क्या होगा अगर मेरे परम हैं Class<?>?
आथरस

उस स्थिति में, जावा का प्रकार सिस्टम अभी भी लागू होता है। उदाहरण के लिएClass<?> proxy() default Object.class
माइकल मिलर

35

इसे वैकल्पिक बनाने के लिए आप इसे इस तरह डिफ़ॉल्ट मान दे सकते हैं:

public @interface ColumnName {
   String value();
   String datatype() default "String";
 }

तब एनोटेशन का उपयोग करते समय इसे निर्दिष्ट करने की आवश्यकता नहीं होती है।

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