समानता के लिए स्ट्रिंग्स की तुलना करने के लिए, आपको स्ट्रिंग ऑब्जेक्ट के equals
का उपयोग करना चाहिए या equalsIgnoreCase
तरीके। हम यह भी देखेंगे कि हमें ==
. का उपयोग क्यों नहीं करना चाहिए स्ट्रिंग की तुलना करने के लिए ऑपरेटर।
स्ट्रिंग्स की बराबरी() विधि से तुलना करना
अगर हमें जावा में दो स्ट्रिंग्स की तुलना करने की आवश्यकता है और स्ट्रिंग्स के केसिंग की भी परवाह है तो हम equals()
का उपयोग कर सकते हैं विधि।
उदाहरण के लिए, निम्न स्निपेट यह निर्धारित करेगा कि क्या स्ट्रिंग के दो उदाहरण केसिंग सहित सभी वर्णों पर समान हैं:
public class CompareTwoStrings {
public static void main(String[] args) {
String firstString = "Test123";
String secondString = "Test" + 123;
String thirdString = "TEST123";
if (firstString.equals(secondString)) {
System.out.println("first and second strings are equal");
}
if (firstString.equals(thirdString)) {
System.out.println("first and third string are equal");
}
}
}
आउटपुट:
first and second strings are equal
नोट:दूसरा प्रिंट स्टेटमेंट निष्पादित नहीं होता है क्योंकि फर्स्टस्ट्रिंग और थर्डस्ट्रिंग का केसिंग मेल नहीं खाता है। स्ट्रिंग्स की बराबरी के साथ तुलना करनाIgnoreCase()विधि
यदि हमें जावा में दो स्ट्रिंग्स की तुलना करने की आवश्यकता है, लेकिन स्ट्रिंग्स के आवरण की परवाह नहीं करते हैं, तो हम equalsIgnoreCase()
का उपयोग कर सकते हैं। विधि।
उदाहरण के लिए, उपरोक्त कोड स्निपेट में, यदि हमने .equals()
. को बदल दिया है .equalsIgnoreCase()
. के साथ विधि, फिर दोनों प्रिंट स्टेटमेंट निष्पादित हो जाते हैं:
public class CompareTwoStrings {
public static void main(String[] args) {
String firstString = "Test123";
String secondString = "Test" + 123;
String thirdString = "TEST123";
if (firstString.equalsIgnoreCase(secondString)) {
System.out.println("first and second strings are equal");
}
if (firstString.equalsIgnoreCase(thirdString)) {
System.out.println("first and third string are equal");
}
}
}
आउटपुट:
first and second strings are equal
first and third string are equal
संबंधित:
- जावा में toString() को ओवरराइड क्यों करें
- जावा में स्ट्रिंग्स को रिवर्स कैसे करें
- स्ट्रिंग से नंबर कैसे निकालें
- जावा में स्ट्रिंग को इंट में कैसे बदलें
स्ट्रिंग्स की तुलना करने के लिए ==ऑपरेटर का उपयोग न करें
नोट:जावा में दो स्ट्रिंग्स की तुलना करते समय, हमें == . का उपयोग नहीं करना चाहिए या != ऑपरेटरों।ये ऑपरेटर वास्तव में संदर्भों का परीक्षण करते हैं, और चूंकि कई स्ट्रिंग ऑब्जेक्ट एक ही स्ट्रिंग का प्रतिनिधित्व कर सकते हैं, यह गलत उत्तर देने के लिए उत्तरदायी है।
इसके बजाय, String.equals(Object)
. का उपयोग करें विधि, जो स्ट्रिंग ऑब्जेक्ट्स की उनके मूल्यों के आधार पर तुलना करेगी।
public class CompareTwoStrings {
public static void main(String[] args) {
String firstString = "Test123";
String secondString = "Test123";
String thirdString = new String("Test123");
if (firstString == secondString) {
System.out.println("first and second strings are equal");
}
if (firstString == thirdString) {
System.out.println("first and third strings are equal");
}
}
}
आउटपुट:
first and second strings are equal
नोट:दूसरा प्रिंट स्टेटमेंट निष्पादित नहीं होता है। स्थिर मानों के साथ स्ट्रिंग की तुलना करना
एक स्ट्रिंग की तुलना स्थिर मान से करते समय, आप यह सुनिश्चित करने के लिए कि आपको NullPointerException
प्राप्त नहीं होगा, स्थिर मान को बराबर के बाईं ओर रख सकते हैं यदि अन्य स्ट्रिंग शून्य है।
उदाहरण के लिए:
"baz".equals(foo)
जबकि foo.equals("baz")
एक NullPointerException
फेंक देगा अगर फू शून्य है, "baz".equals(foo)
false
का मूल्यांकन करेगा ।
एक अधिक पठनीय विकल्प Objects.equals()
. का उपयोग करना है , जो दोनों मापदंडों पर एक शून्य जांच करता है:
जैसे Objects.equals(foo, "baz")
।
स्विच स्टेटमेंट में स्ट्रिंग्स की तुलना करना
जावा 1.7 के अनुसार, स्विच स्टेटमेंट में स्ट्रिंग वैरिएबल की तुलना शाब्दिक से करना संभव है। सुनिश्चित करें कि स्ट्रिंग शून्य नहीं है, अन्यथा यह हमेशा एक NullPointerException
फेंकेगा . String.equals
. का उपयोग करके मानों की तुलना की जाती है , यानी केस सेंसिटिव।
public class CompareTwoStrings {
public static void main(String[] args) {
String stringToSwitch = "A";
switch (stringToSwitch) {
case "a":
System.out.println("a");
break;
case "A":
System.out.println("A"); //the code goes here
break;
case "B":
System.out.println("B");
break;
default:
break;
}
}
}
निष्कर्ष
इस पोस्ट में हमने समझाया कि जावा में स्ट्रिंग्स की तुलना कोड उदाहरणों से कैसे करें। जब स्ट्रिंग्स का केसिंग मायने रखता है, तो हमें .equals()
. का उपयोग करना चाहिए और जब केसिंग महत्वपूर्ण नहीं है, तब हमें .equalsIgnoreCase()
. का उपयोग करना चाहिए ।
इसके अलावा, हमें ==
. का उपयोग नहीं करना चाहिए स्ट्रिंग की तुलना करने के लिए ऑपरेटर, ==
. के रूप में ऑपरेटर संदर्भ की जाँच करता है न कि मान की।