Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में स्ट्रिंग्स की तुलना कैसे करें

समानता के लिए स्ट्रिंग्स की तुलना करने के लिए, आपको स्ट्रिंग ऑब्जेक्ट के 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() . का उपयोग करना चाहिए ।

इसके अलावा, हमें == . का उपयोग नहीं करना चाहिए स्ट्रिंग की तुलना करने के लिए ऑपरेटर, == . के रूप में ऑपरेटर संदर्भ की जाँच करता है न कि मान की।


  1. जावा में दो तिथियों की तुलना कैसे करें?

    जावा में, दो तिथियों की तुलना तुलना करने के लिए () का उपयोग करके की जा सकती है तुलनीय . की विधि इंटरफेस। यह विधि 0 लौटाती है अगर दोनों तिथियां बराबर हैं , यह 0 से अधिक . मान देता है अगर तारीख1 तारीख2 के बाद है और यह मान देता है 0 से कम अगर तारीख1 तारीख2 से पहले की है। सिंटैक्स int तुलना करने के लि

  1. जावा में CLOB प्रकार को स्ट्रिंग में कैसे बदलें?

    CLOB सामान्य रूप से कैरेक्टर लार्ज ऑब्जेक्ट के लिए है, एक SQL क्लॉब एक ​​अंतर्निहित डेटाटाइप है और इसका उपयोग बड़ी मात्रा में टेक्स्ट डेटा को स्टोर करने के लिए किया जाता है। इस डेटाटाइप का उपयोग करके, आप 2,147,483,647 वर्णों तक डेटा संग्रहीत कर सकते हैं। JDBC API का java.sql.Clob इंटरफ़ेस CLOB डेटा

  1. जावा - JSON फ़ाइल को स्ट्रिंग के रूप में कैसे पढ़ें

    इस पोस्ट में हम देखेंगे कि जावा में स्ट्रिंग वेरिएबल के रूप में JSON फाइल को कैसे पढ़ा जाए। यह कभी-कभी उपयोगी होता है, विशेष रूप से एपीआई परीक्षण में जब आप एक JSON पेलोड को एक समापन बिंदु पर पोस्ट करना चाहते हैं। आप JSON पेलोड को एक फ़ाइल में रख सकते हैं, फिर JSON फ़ाइल को एक स्ट्रिंग के रूप में पढ