मैं केवल कुछ कार्रवाई करना चाहता हूं यदि मेरे स्ट्रिंग का सार्थक मूल्य है। इसलिए, मैंने यह कोशिश की।
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, तो आप कभी इस पर एक विधि कैसे लागू करेंगे? :)