CodeGym /Java Blog /अनियमित /जावा में स्ट्रिंग संयोजन
John Squirrels
स्तर 41
San Francisco

जावा में स्ट्रिंग संयोजन

अनियमित ग्रुप में प्रकाशित
Java String concatenation दो या दो से अधिक स्ट्रिंग्स को जोड़ने और एक नया वापस करने के लिए एक ऑपरेशन है। साथ ही, कॉन्सटेनेशन ऑपरेशन का उपयोग तारों को टाइप करने के लिए किया जा सकता है। आप जावा में स्ट्रिंग्स को दो अलग-अलग तरीकों से जोड़ सकते हैं।

कॉनकैट () विधि

Concat () विधि निर्दिष्ट स्ट्रिंग को दिए गए स्ट्रिंग के अंत में जोड़ती है और फिर लौटती है और फिर एक नया स्ट्रिंग बनाती है। निश्चित रूप से हम तीन या अधिक स्ट्रिंग्स में शामिल होने के लिए कॉन्सट () विधि का उपयोग कर सकते हैं।

concat() विधि हस्ताक्षर


public String concat(String str)
विधि स्ट्रिंग str को वर्तमान स्ट्रिंग के अंत में जोड़ती है। उदाहरण के लिए:

String s1 = “Hello ”; 
s1.concat("World")
एक नया स्ट्रिंग "हैलो वर्ल्ड" लौटाता है।

Concat () विधि उदाहरण

आइए उनके इनिशियलाइज़ेशन के बाद दो स्ट्रिंग्स को सम्‍मिलित करें, फिर अधिक स्ट्रिंग्स को सम्‍मिलित करें। और एक और दिलचस्प उदाहरण: हम एक ऐसी विधि बनाने जा रहे हैं जो तर्क के अनुसार अलग-अलग संदेश देगी।

public class ConcatTest {

    public static void main(String[] args) {
        //String concat with concat() method 
        String string1 = "I learn ";
        String string2 = "concatenation in Java";
        //here we use concat() method to join the two strings above
        String result = string1.concat(string2);
        System.out.println(result);
        //concat() method to join 4 strings
        String myWebSite = "Code".concat("Gym").concat(".cc").concat("/quest");
        System.out.println(myWebSite); // here we've got  "CodeGym.cc/quest"

        System.out.println(myMessage(true));
        System.out.println(myMessage(false));
    }

    private static String myMessage(boolean b) {   //concat() method with selection statement 
        return "I have".concat(b ? " " : "n't ").concat("got it");
    }

}
आउटपुट है:
मैं Java CodeGym.cc/quest में संयोजन सीखता हूँ मुझे मिल गया है मुझे नहीं मिल गया है
यह जानना महत्वपूर्ण है कि concat() विधि स्ट्रिंग को नहीं बदलती है, लेकिन वर्तमान को मर्ज करने के परिणामस्वरूप एक नया बनाता है और एक पैरामीटर के रूप में पारित होता है। तो विधि एक नया स्ट्रिंग ऑब्जेक्ट लौटाती है, इसीलिए आप स्ट्रिंग कॉन्सट की इतनी लंबी श्रृंखला बना सकते हैं।

अतिभारित ऑपरेटरों "+" और "+ =" का उपयोग करके संयोजन

आप इन दो ऑपरेटरों का उपयोग उसी तरह कर सकते हैं जैसे संख्याओं के साथ। वे concat() की तरह ही काम करते हैं । आइए स्ट्रिंग "कोड" और स्ट्रिंग "जिम" को जोड़ते हैं।

public class StringConcat {
   public static void main(String[] args) {

       String myString = "Code" + "Gym";
       myString+= ".cc";
       System.out.println(myString);
   }
}
आमतौर पर जावा उपयोगकर्ता वर्गों के लिए ओवरलोडिंग संचालन की अनुमति नहीं देता है, लेकिन ये दोनों ऑपरेटर ओवरलोडेड के रूप में काम करते हैं। आप सोच सकते हैं कि + ऑपरेटर के अंदर concat() छिपा हुआ है , लेकिन वास्तव में, यहां एक और तंत्र का उपयोग किया जाता है। यदि हम जावा प्रोग्राम बायटेकोड को देखते हैं, तो हम देखेंगे कि स्ट्रिंगबिल्डर बनाया गया था और इसकी परिशिष्ट () विधि का उपयोग किया जाता है। जावा कंपाइलर "+" ऑपरेटर को देखता है और महसूस करता है कि ऑपरेंड तार हैं, आदिम प्रकार नहीं। तो यह concat की तरह काम करता है।

public class StringTest2 {

   public static void main(String[] args) {

       String hello = "hello";
       String world = " world!";

       String helloworld = (new StringBuilder().append(hello).append(world).toString());
       System.out.println(helloworld);
       //this is the same as:
       String result = hello + world;
   }
}

Concat(0) या + ?

यदि आपको स्ट्रिंग को केवल एक बार मर्ज करने की आवश्यकता है, तो concat () विधि का उपयोग करें। अन्य सभी मामलों के लिए, + या Stringbuffer / StringBuilder ऑपरेटर का उपयोग करना बेहतर है । साथ ही, + ऑपरेटर का उपयोग प्रकार बदलने के लिए किया जाता है। यदि एक ऑपरेंड बराबर है, उदाहरण के लिए, संख्या और दूसरा एक स्ट्रिंग है, तो बाहर निकलने पर हमें एक स्ट्रिंग मिलेगी। उदाहरण:

public class StringConcat {
   public static void main(String[] args) {
       int myInt = 5;
       String myString = " days";

       System.out.println(myInt + myString);
       boolean b = (myInt + myString) instanceof String;
       System.out.println(b);
   }
}
हमने if (myInt + myString) एक स्ट्रिंग की जाँच करने के लिए instof का उपयोग किया। यहाँ इस कार्यक्रम का आउटपुट है:
5 दिन सच
यह भी ध्यान दें कि + ऑपरेटर और concat() अलग-अलग काम करते हैं यदि स्ट्रिंग में से कोई एक शून्य है। यदि + या += ऑपरेटर का उपयोग करते समय ऑपरेंड में से केवल एक - एक स्ट्रिंग है, तो, जैसा कि हमने पहले ही कहा है, प्रकार रूपांतरण होता है। यही बात शून्य पर भी लागू होती है। हमें बस एक नई स्ट्रिंग मिलेगी:

public class StringConcat {
   public static void main(String[] args) {

       String myString = "book ";
       System.out.println(myString + null);
       System.out.println((myString + null) instanceof String);
   }
}
आउटपुट है:
पुस्तक अशक्त सत्य
यदि हम एक ही ऑपरेशन के लिए कॉन्सट () विधि लागू करते हैं, तो हमें एक NullPointerException मिलेगी ।

public class StringConcat {
   public static void main(String[] args) {

       String myString = "book ";
       System.out.println(myString.concat(null));

   }
}
आउटपुट है:
धागे में अपवाद "मुख्य" java.lang.NullPointerException java.base/java.lang.String.concat(String.java:1972) पर StringConcat.main(StringConcat.java:6) पर
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION