आज मैं इस प्रलेखन के बाद अपना पहला एनोटेशन इंटरफ़ेस बनाना चाहता था और मुझे यह कंपाइलर त्रुटि मिली
Invalid type for annotation member": public @interface MyAnnotation { Object myParameter; ^^^^^^ }
जाहिर Object
तौर पर एनोटेशन सदस्य के प्रकार के रूप में इस्तेमाल नहीं किया जा सकता है। दुर्भाग्य से मुझे कोई जानकारी नहीं मिली कि किस प्रकार का सामान्य रूप से उपयोग किया जा सकता है।
यह मैंने परीक्षण-और-त्रुटि का उपयोग करते हुए पाया:
String
→ वैधint
→ वैधInteger
→ अमान्य (आश्चर्यजनक रूप से)String[]
→ वैध (आश्चर्यजनक रूप से)Object
→ अमान्य
शायद कोई व्यक्ति कुछ प्रकाश डाल सकता है जिस पर वास्तव में अनुमति दी जाती है और क्यों।