यह एक एनोटेशन है, लेकिन सही नाम है NonNull
:
protected void onSaveInstanceState(@NonNull Bundle outState)
(और भी)
import android.support.annotation.NonNull;
उद्देश्य यह है कि संकलक को चेतावनी देने की अनुमति दी जाए जब कुछ मान्यताओं का उल्लंघन किया जा रहा हो (जैसे कि एक विधि का एक पैरामीटर जिसका हमेशा मान होना चाहिए, जैसा कि इस विशेष मामले में है, हालांकि अन्य हैं)। से समर्थन एनोटेशन प्रलेखन:
@NonNull
एनोटेशन से संकेत मिलता है कि किसी दिए गए पैरामीटर नल नहीं हो सकता इस्तेमाल किया जा सकता।
यदि किसी स्थानीय चर को अशक्त माना जाता है (उदाहरण के लिए क्योंकि कुछ पहले वाले कोड की जाँच की गई थी कि क्या यह अशक्त था), और आप इसे एक विधि के पैरामीटर के रूप में पास करते हैं जहाँ उस पैरामीटर को @NonNull के रूप में चिह्नित किया जाता है, तो IDE आपको चेतावनी देगा कि आप हैं एक संभावित दुर्घटना।
वे स्थैतिक विश्लेषण के लिए उपकरण हैं। रनटाइम व्यवहार बिल्कुल भी नहीं बदला जाता है।
इस स्थिति में, विशेष चेतावनी यह है कि आप जिस मूल विधि से ओवरराइडिंग (इन Activity
) कर रहे हैं , उसमें पैरामीटर @NonNull
पर एनोटेशन है outState
, लेकिन आपने इसे ओवरराइडिंग विधि में शामिल नहीं किया है। बस इसे जोड़ने से समस्या को हल करना चाहिए, अर्थात
@Override
protected void onSaveInstanceState(@NonNull Bundle outState) {
super.onSaveInstanceState(outState);
}