CodeGym /Java Blog /এলোমেলো /জাভাতে স্ট্রিং সংযোগ
John Squirrels
লেভেল 41
San Francisco

জাভাতে স্ট্রিং সংযোগ

এলোমেলো দলে প্রকাশিত
জাভা স্ট্রিং কনক্যাটেনেশন হল দুটি বা ততোধিক স্ট্রিং যুক্ত করার এবং একটি নতুন স্ট্রিং ফেরানোর একটি অপারেশন। এছাড়াও, কনক্যাটেনেশন অপারেশনটি স্ট্রিংগুলিতে প্রকারগুলি কাস্ট করতে ব্যবহার করা যেতে পারে। আপনি দুটি ভিন্ন উপায়ে জাভাতে স্ট্রিংগুলিকে সংযুক্ত করতে পারেন।

concat() পদ্ধতি

Concat() পদ্ধতি প্রদত্ত স্ট্রিংয়ের শেষে নির্দিষ্ট স্ট্রিং যুক্ত করে এবং তারপরে ফিরে আসে এবং তারপরে গঠিত একটি নতুন স্ট্রিং প্রদান করে। নিশ্চিতভাবে আমরা concat() পদ্ধতি ব্যবহার করে তিন বা তার বেশি স্ট্রিং যোগ করতে পারি।

concat() পদ্ধতি স্বাক্ষর


public String concat(String 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");
    }

}
আউটপুট হল:
আমি জাভা 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() লুকিয়ে আছে , কিন্তু আসলে, এখানে অন্য একটি প্রক্রিয়া ব্যবহার করা হয়েছে। আমরা যদি জাভা প্রোগ্রাম বাইটকোড দেখি, আমরা দেখতে পাব যে StringBuilder তৈরি করা হয়েছে এবং এর append() পদ্ধতি ব্যবহার করা হয়েছে। জাভা কম্পাইলার “+” অপারেটর দেখে এবং বুঝতে পারে যে অপারেন্ডগুলি স্ট্রিং, আদিম প্রকার নয়। তাই এটা 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() পদ্ধতি ব্যবহার করুন। অন্যান্য সমস্ত ক্ষেত্রে, + বা স্ট্রিংবাফার / স্ট্রিংবিল্ডার অপারেটর ব্যবহার করা ভাল । এছাড়াও, + অপারেটর প্রকারগুলি রূপান্তর করতে ব্যবহৃত হয়। যদি একটি অপারেন্ড সমান হয়, উদাহরণস্বরূপ, সংখ্যা এবং দ্বিতীয়টি একটি স্ট্রিং, তাহলে প্রস্থান করার সময় আমরা একটি স্ট্রিং পাব। উদাহরণ:

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);
   }
}
(myInt + myString) একটি স্ট্রিং কিনা তা পরীক্ষা করতে আমরা instanceof ব্যবহার করেছি। এখানে এই প্রোগ্রামের আউটপুট:
5 দিন সত্য
এছাড়াও নোট করুন যে স্ট্রিংগুলির একটি শূন্য হলে + অপারেটর এবং কনক্যাট() ভিন্নভাবে কাজ করে। যদি + বা += অপারেটর ব্যবহার করার সময় একটি অপারেন্ড শুধুমাত্র একটি হয় — একটি স্ট্রিং, তাহলে, আমরা আগেই বলেছি, টাইপ রূপান্তর ঘটে। একই নাল প্রযোজ্য. আমরা শুধু একটি নতুন স্ট্রিং পাব:

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

       String myString = "book ";
       System.out.println(myString + null);
       System.out.println((myString + null) instanceof String);
   }
}
আউটপুট হল:
বই নাল সত্য
যদি আমরা একই অপারেশনের জন্য concat() পদ্ধতি প্রয়োগ করি, তাহলে আমরা একটি NullPointerException পাব ।

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

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

   }
}
আউটপুট হল:
থ্রেড "main" 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