इस कोड को मेरे पास है:इंटेलिजे मुझे क्यों बता रहा है कि संदर्भ इस स्थिति में शून्य नहीं हो सकता है?
private void foo(Bar bar) {
Session session = null;
Class entityClazz = null;
try {
entityClazz = Hibernate.getClass(bar);
if (bar != null) {
और इंटेलीजे संदेश के साथ ऊपर पिछले बयान के लिए मुझे चेतावनी देगा:
स्थिति 'बार = अशक्त!' हमेशा 'सही' है। यह निरीक्षण संभावित स्थितियों की रिपोर्ट करने के लिए विधि नियंत्रण और डेटा प्रवाह का विश्लेषण करता है जो हमेशा सत्य या झूठे होते हैं, अभिव्यक्ति जिसका मूल्य स्थिर रूप से स्थिर होता है, और ऐसी परिस्थितियां जो शून्यता अनुबंध उल्लंघन का कारण बन सकती हैं।
जब मैं बयान को हटा दें:
entityClazz = Hibernate.getClass(bar);
चेतावनी चला जाएगा।
इंटेलिजे के दिमाग में क्या चल रहा है, बार से शून्य क्या रोक रहा है?
मुझे लगता है, क्योंकि 'Hibernate.getClass (बार)' एक NullPointerException फेंक देते हैं और यदि 'bar' अशक्त और इस प्रकार' यदि है उस मामले में कभी नहीं पहुंचाया जाएगा। –
@a_horse_with_no_name मुझे कोड में फेंकने वाले किसी भी एनपीई को नहीं देखा गया था, लेकिन शायद मुझे यह याद आया .. –
जांचें कि 'Hibernate.getClass' के पास इसके पैरामीटर पर '@ NotNull' है या नहीं। –