मैं केवल कुछ कार्रवाई करना चाहता हूं यदि मेरे स्ट्रिंग का सार्थक मूल्य है। इसलिए, मैंने यह कोशिश की।
if (!myString.equals("")) {
doSomething
}
और इस
if (!myString.equals(null)) {
doSomething
}
और इस
if ( (!myString.equals("")) && (!myString.equals(null))) {
doSomething
}
और इस
if ( (!myString.equals("")) && (myString!=null)) {
doSomething
}
और इस
if ( myString.length()>0) {
doSomething
}
और सभी मामलों में मेरा कार्यक्रम doSomething
इस तथ्य के बावजूद है कि मेरी स्ट्रिंग ईएमपीटीवाई है। इसके बराबर है null
। तो, इसमें गलत क्या है?
जोड़े गए:
मैंने समस्या का कारण पाया। चर एक स्ट्रिंग के रूप में घोषित किया गया था और, के रूप में एक परिणाम है, null
इस चर करने के लिए आवंटित करने के लिए बदल गया था "null"
! तो, if (!myString.equals("null"))
काम करता है।
System.out.println(myString)
यदि आप तुरंत ब्लॉक से पहले आप देख सकते हैं कि वहां क्या है?
null
"?
null
इस चर को सौंपा "null"
- यह एक भयानक विचार है। यदि संभव हो तो इस डिज़ाइन को बदलने का प्रयास करें।
null
कोई विधि नहीं है, इसलिए भी नहींequals()
। यदिmyString
थेnull
, तो आप कभी इस पर एक विधि कैसे लागू करेंगे? :)