मैं पिछले JDK 8 (b116) स्थापित किया है लेकिन मैंने देखा है कि मैं प्रकार व्याख्या का उपयोग नहीं कर सकते। उदाहरण पढ़ने जावा ट्यूटोरियल के लिए अगर मैं लिखना:जावा 8, प्रकार टिप्पणियां और JSR 308
String str = null;
String myString = (@NonNull String) str;
या
TEST st = new @Interned TEST();
संकलक मुझे निम्न त्रुटि दे:
annotation type not applicable to this kind of declaration
अब यह काम करता है। एक प्रकार टिप्पणियों का उपयोग करने से पहले हम @Target(ElementType.TYPE_USE)
साथ एनोटेशन व्याख्या करना होगा। नीचे दी गई टिप्पणियों को देखो!
मैं भी समझ में नहीं आता है, तो जैसे एनोटेशन: NonNull
, Interned
, आदि JDK में डाला जाएगा या आप अपने प्रश्न के पहले भाग का जवाब दे दिया हम Checker Framework
चेक कि उन एनोटेशन उन स्थितियों पर लागू किया जा सकता है। '@ लक्ष्य' एनोटेशन जांचें। –
क्या आप वाकई * जावा 8 कंपाइलर का उपयोग कर रहे हैं, और आपके पास जावा 8 पर स्रोत स्तर सेट है? क्योंकि आप जो कह रहे हैं वह ओरेकल जावा ट्यूटोरियल जावा 8 के बारे में क्या कहता है, इसके सीधे विरोधाभास में है; http://docs.oracle.com/javase/tutorial/java/annotations/basics देखें।एचटीएमएल –
@ सॉटिरियोस डेलिमैनोलिस, ठीक है यह मेरे एनोटेशन इंटरफेस के साथ काम करता है। हो सकता है कि मैं NonNull, Interned, आदि के साथ गड़बड़ कर रहा हूं ... जो जेडीके के साथ मौजूद नहीं हैं ... ऐसा लगता है कि टाइप करें एनोटेशन का उपयोग @Target (ElementType.TYPE_USE) का उपयोग करने के लिए पर्याप्त है! – xdevel2000