আপনি যদি আমার মতো হন, যখন আমি প্রথম জাভা ব্যবহার শুরু করলাম, আমি দুটি স্ট্রিং দৃষ্টান্ত সমান কিনা তা পরীক্ষা করতে "==" অপারেটরটি ব্যবহার করতে চেয়েছিলাম, তবে আরও ভাল বা খারাপ, জাভাতে এটি করার সঠিক উপায় নয়।
এই টিউটোরিয়ালে আমি জাভা স্ট্রিংগুলির সঠিকভাবে তুলনা করার বিভিন্ন উপায় প্রদর্শন করব যা আমি বেশিরভাগ সময় ব্যবহার করি with এই জাভা স্ট্রিং তুলনা টিউটোরিয়ালটির শেষে আমি জাভা স্ট্রিংগুলির সাথে তুলনা করার সময় কেন "==" অপারেটর কাজ করে না তা আলোচনা করব।
বিকল্প 1: জাভা স্ট্রিংটি সমান পদ্ধতির সাথে তুলনা করে
বেশিরভাগ সময় (সম্ভবত 95%) আমি জাভা স্ট্রিং ক্লাসের সমান পদ্ধতির সাথে স্ট্রিংগুলি তুলনা করি, এর মতো:
if (string1.equals(string2))
এই স্ট্রিংয়ের সমান পদ্ধতিটি দুটি জাভা স্ট্রিংয়ের দিকে নজর দেয় এবং যদি এগুলিতে অক্ষরের ঠিক একই স্ট্রিং থাকে তবে সেগুলি সমান বলে বিবেচিত হবে।
সমান পদ্ধতির সাথে তাত্ক্ষণিক স্ট্রিং তুলনার উদাহরণটি দেখে, নিম্নলিখিত পরীক্ষাটি চালানো হলে দুটি স্ট্রিং সমান বলে বিবেচিত হবে না কারণ অক্ষরগুলি হুবহু এক নয় (চরিত্রগুলির ক্ষেত্রে পৃথক পৃথক):
String string1 = "foo";
String string2 = "FOO";
if (string1.equals(string2))
{
// this line will not print because the
// java string equals method returns false:
System.out.println("The two strings are the same.")
}
তবে, যখন দুটি স্ট্রিংগুলিতে অক্ষরের ঠিক একই স্ট্রিং থাকে, সমান পদ্ধতিটি সত্যটিতে ফিরে আসবে, যেমন এই উদাহরণ হিসাবে:
String string1 = "foo";
String string2 = "foo";
// test for equality with the java string equals method
if (string1.equals(string2))
{
// this line WILL print
System.out.println("The two strings are the same.")
}
বিকল্প 2: স্ট্রিং তুলনা সমান আইগনোর কেস পদ্ধতির সাথে
কিছু স্ট্রিং তুলনা পরীক্ষায় আপনি স্ট্রিংগুলি বড় হাতের বা ছোট হাতের না করে উপেক্ষা করতে চান। আপনি যখন এই ক্ষেত্রে-সংবেদনশীল উপায়ে আপনার স্ট্রিংয়ের সাম্যতার জন্য পরীক্ষা করতে চান, তখন স্ট্রিং ক্লাসের সমতুল্য আইগনরেস পদ্ধতিটি ব্যবহার করুন:
String string1 = "foo";
String string2 = "FOO";
// java string compare while ignoring case
if (string1.equalsIgnoreCase(string2))
{
// this line WILL print
System.out.println("Ignoring case, the two strings are the same.")
}
বিকল্প 3: জাভা স্ট্রিং তুলনা করুন পদ্ধতির সাথে
জাভা স্ট্রিংগুলির তুলনা করার জন্য একটি তৃতীয়, কম সাধারণ উপায় রয়েছে এবং এটি স্ট্রিং ক্লাসের তুলনা করার পদ্ধতিতে রয়েছে। যদি দুটি স্ট্রিং হুবহু একই হয় তবে তুলনা পদ্ধতিটি 0 (শূন্য) এর মান প্রদান করবে। এই স্ট্রিং তুলনা পদ্ধতির দেখতে কেমন তার একটি দ্রুত উদাহরণ এখানে:
String string1 = "foo bar";
String string2 = "foo bar";
// java string compare example
if (string1.compareTo(string2) == 0)
{
// this line WILL print
System.out.println("The two strings are the same.")
}
আমি জাভাতে সাম্যের এই ধারণাটি নিয়ে লিখছি, তবে এটি জেনে রাখা গুরুত্বপূর্ণ যে জাভা ভাষায় জাভা অবজেক্ট শ্রেণিতে একটি সমান পদ্ধতি রয়েছে। যখনই আপনি আপনার নিজের অবজেক্ট তৈরি করছেন এবং আপনি যখন আপনার বস্তুর দুটি উদাহরণ "সমান" কিনা তা দেখার জন্য কোনও উপায় সরবরাহ করতে চান, আপনার ক্লাসে এই সমান পদ্ধতিটি (আপনার জাভা ভাষায় যেভাবে সরবরাহ করা হয়েছে তেমনভাবে ওভাররাইড করা এবং প্রয়োগ করা) উচিত স্ট্রিংয়ের মধ্যে এই সমতা / তুলনার আচরণ সমান পদ্ধতি)।
আপনি এই ==, .Equals (), তুলনা করুন () তুলনা করতে () তুলনা করতে পারেন ()