@Nullable
दावों के साथ एनोटेट किया गया तत्व दावा करता है कि शून्य मान वापस (विधियों के लिए) के लिए मान्य है, पैरामीटर के लिए (स्थानीय चर और क्षेत्रों के लिए) पास करें।
@NotNull
दावों के साथ एनोटेटेड तत्व (दावों के लिए), पैरामीटर के लिए (पैरामीटर के लिए) पास करने के लिए प्रतिबंधित है (स्थानीय चर और फ़ील्ड के लिए)।
एनोटेटेड घोषणा या पैरामीटर के साथ विधियों को ओवरराइड/कार्यान्वित करते समय @Nullable
और @NotNull
के बीच एक संवैधानिक-विरोधी संबंध है।
अधिभावी/व्याख्या किए गए घोषणा के साथ तरीकों को लागू करने:
- माता पिता विधि के
@NotNull
एनोटेशन बच्चे वर्ग विधि के लिए
@NotNull
एनोटेशन की आवश्यकता है।
- माता पिता विधि में
@Nullable
टिप्पणी के साथ तरीके बच्चे वर्ग विधि में या तो @Nullable
या @NotNull
एनोटेशन हो सकता है।
अधिभावी/एनोटेट मानकों के साथ तरीकों को लागू करने:
- माता पिता विधि में पैरामीटर के
@Nullable
एनोटेशन बच्चे वर्ग विधि पैरामीटर के लिए @Nullable
एनोटेशन की आवश्यकता है।
- माता पिता विधि में पैरामीटर के
@NotNull
टिप्पणी के साथ तरीके या तो @Nullable
या @NotNull
एनोटेशन (या कोई भी उनमें से ) बच्चे वर्ग विधि पैरामीटर के लिए हो सकता है।
उदाहरण:
@Nullable
public static UserContext getThreadUserContext() {
TransactionParms tp = TransactionParms.getBoundParms();
return (tp == null) ? null : tp.getUserContext();
}
यहाँ getThreadUserContext
विधि TransactionParms
का एक उदाहरण वापस जाने के लिए है। Bu उस उदाहरण को Null
नीचे दिए गए उत्तरों से, मैंने सीखा है कि एनोटेशन इंगित करता है कि शून्य मान स्वीकार्य हैं, इसका उपयोग कहां किया जाता है, कोड विश्लेषक मैं कोशिश कर सकता हूं और व्याख्याएं भिन्न हो सकती हैं। देखें कि यह प्रारूप एक अच्छा क्यों है? पूरे दौर में, विशेष रूप से इस सवाल पूछने के लिए। – icedwater
कौन सा लाइब्रेरी आपके प्रश्न के संदर्भ में '@ Nullable' प्रदान कर रही है? क्या यह [परीक्षक?] (Https://checkerframework.org/manual/#nullness-checker) – 8bitjunkie