স্ট্রিং জাভাতে টেক্সট-ভিত্তিক ডেটা সংরক্ষণের জন্য ব্যবহৃত একটি ডেটা টাইপ। স্ট্রিংসহ কাজ করার সময় আপনি দুটি স্ট্রিংকে একে অপরের সাথে তুলনা করার পরিস্থিতিতে পড়তে পারেন।
সেই সময় জাভা স্ট্রিং equals() এবং equalsIgnoreCase() মেথডগুলো কাজে আসে। equals() মেথড দুটি স্ট্রিং সমান কিনা তা চেক করতে ব্যবহৃত হয়, আর equalsIgnoreCase() তাদের কেস উপেক্ষা করে তুলনা করতে ব্যবহৃত হয়।
এই টিউটোরিয়ালে উদাহরণসহ জাভাতে স্ট্রিং equals() এবং equalsIgnoreCase() মেথডগুলো কীভাবে ব্যবহার করতে হয় তা ব্যাখ্যা করা হয়েছে। এই আর্টিকেল পড়া শেষে আপনি জাভাতে এই মেথডগুলো ব্যবহার করে স্ট্রিং তুলনা করতে পারবেন।
জাভা স্ট্রিং
স্ট্রিং টেক্সট সংরক্ষণের জন্য ব্যবহৃত হয় এবং এতে অক্ষর, সংখ্যা, সিম্বল এবং হোয়াইটস্পেস থাকতে পারে। উদাহরণস্বরূপ, একটি স্ট্রিংে একটি দর্জির দোকানের কাস্টমারের নাম বা সেই দোকানের সাপ্লায়ারের ঠিকানা থাকতে পারে।
জাভাতে, স্ট্রিং কোটেশন মার্কসের মধ্যে আবদ্ধ ক্যারেক্টার সিকোয়েন্স হিসেবে ঘোষণা করা হয়। জাভা স্ট্রিংর একটি উদাহরণ:
String favoriteCoffeeShop = "Central Perk";
এই উদাহরণে, আমরা favoriteCoffeeShop নামে একটি ভেরিয়েবল ঘোষণা করেছি এবং এটিকে Central Perk মান বরাদ্দ করেছি।
জাভা স্ট্রিং অবজেক্টস ইমিউটেবল, অর্থাৎ একবার স্ট্রিং তৈরি হলে, আমাদের অন্য স্ট্রিংসহ তুলনা করতে equals() মেথড ব্যবহার করতে হয়। স্ট্রিংর বেসিক জানার পর, এখন আমরা স্ট্রিং equals() এবং equalsIgnoreCase() মেথডগুলো নিয়ে আলোচনা করব।
জাভা স্ট্রিং equals
জাভা স্ট্রিং equals() মেথড অবজেক্টগুলো তুলনা করতে এবং দুটি স্ট্রিংর কন্টেন্ট সমান কিনা তা চেক করতে ব্যবহৃত হয়।
equals() একটি প্যারামিটার গ্রহণ করে: যে স্ট্রিংটি আপনি অন্য স্ট্রিংসহ তুলনা করতে চান। স্ট্রিং equals() মেথডের সিনট্যাক্স নিচে দেওয়া হলো:
stringName.equals(string2Name);
এটি ভাঙে ব্যাখ্যা করি:
- stringName হল মূল স্ট্রিংর নাম যার সাথে আপনি string2Name তুলনা করতে চান
- equals() হল stringName কে string2Name সহ তুলনা করতে ব্যবহৃত মেথড
- string2Name হল वह স্ট্রিং যা আপনি stringName এর সাথে তুলনা করতে চান
equals() মেথড স্ট্রিংগুলো সমান কিনা তার উপর ভিত্তি করে একটি বুলিয়ান মান রিটার্ন করে। যদি দুটি স্ট্রিং সমান হয়, তবে true রিটার্ন করে; অন্যথায় false রিটার্ন করে।
স্ট্রিং equals() মেথড কেস-সেনসিটিভ। তাই, যদি দুটি স্ট্রিং একই ক্যারেক্টার ধারণ করে কিন্তু ভিন্ন কেস ব্যবহার করে, তবে equals() মেথড false রিটার্ন করবে।
জাভা স্ট্রিং equals উদাহরণ
মনে করুন আমরা একটি হোটেল চালাচ্ছি এবং চেক-ইন ফেজ সরল করতে একটি প্রোগ্রাম লিখছি। যখন একজন কাস্টমার চেক-ইন করেন, তারা তাদের নাম এবং বুকিং রেফারেন্স দেবে। আমরা কাস্টমার দেওয়া বুকিং রেফারেন্সকে তাদের ফাইলে সংরক্ষিত বুকিং রেফারেন্সের সাথে তুলনা করব যাতে কাস্টমারর সনাক্তকরণ যাচাই করা যায়।
ফাইলে সংরক্ষিত বুকিং রেফারেন্সকে কাস্টমার প্রদত্ত বুকিং রেফারেন্সের সাথে তুলনা করার জন্য আমরা নিচের কোড ব্যবহার করতে পারি:
class Main { public static void main(String args[]) { String onFileBookingReference = "#ST2920198"; String customerGivenBookingReference = "#ST2920198"; boolean areEqual = onFileBookingReference.equals(customerGivenBookingReference); if (areEqual == true) { System.out.println("এই বুকিং নিশ্চিত।"); } else { System.out.println("প্রদত্ত বুকিং রেফারেন্স ফাইলের সাথে মিলছে না।"); } } }
আমাদের কোড রিটার্ন করে:
এই বুকিং নিশ্চিত।
আমাদের কোড ভাঙে ব্যাখ্যা করি:
- আমরা
onFileBookingReferenceনামে একটি ভেরিয়েবল ঘোষণা করি যা একটি কাস্টমারের নামের সাথে যুক্ত বুকিং রেফারেন্স সংরক্ষণ করে। - আমরা
customerGivenBookingReferenceনামে একটি ভেরিয়েবল ঘোষণা করি যা চেক-ইন ডেস্কে ক্লার্ককে কাস্টমার দেওয়া বুকিং রেফারেন্স সংরক্ষণ করে। - আমরা
equals()মেথড ব্যবহার করে চেক করি যেonFileBookingReferenceকিcustomerGivenBookingReferenceএর সাথে সমান, এবং মেথডের ফলাফলareEqualভেরিয়েবলে বরাদ্দ করি। - একটি
ifস্টেটমেন্ট ব্যবহার করে চেক করা হয় যেareEqualকিtrueএর সমান।- যদি areEqual true এর সমান হয়, তবে
এই বুকিং নিশ্চিতমেসেজ কনসোলে প্রিন্ট হয়। - যদি areEqual false এর সমান হয়, তবে
প্রদত্ত বুকিং রেফারেন্স ফাইলের সাথে মিলছে নামেসেজ কনসোলে প্রিন্ট হয়।
- যদি areEqual true এর সমান হয়, তবে
এই উদাহরণে, কাস্টমার সঠিক বুকিং রেফারেন্স দিয়েছেন, তাই আমাদের প্রোগ্রাম তাদের বুকিং নিশ্চিত করল।
জাভা স্ট্রিং equalsIgnoreCase
স্ট্রিং equalsIgnoreCase() মেথড দুটি স্ট্রিং কেস উপেক্ষা করে তুলনা করতে ব্যবহৃত হয়। equalsIgnoreCase() equals() মেথডের মতোই সিনট্যাক্স ব্যবহার করে, যা নিচের মতো:
stringName.equalsIgnoreCase(string2Name);
এখন, এই মেথডটি কর্মক্ষেত্রে কীভাবে কাজ করে তা বোঝার জন্য একটি উদাহরণ দেখা যাক।
মনে করুন আমরা একটি প্রোগ্রাম লিখতে চাই যা চেক করবে কাস্টমারের নাম কি তাদের দেওয়া বুকিং রেফারেন্সের সাথে যুক্ত নামের সাথে মিলে। এই চেকটি কেস-ইনসেনসিটিভ হতে হবে যাতে ক্যাপিটালাইজেশন এররardoor কোনো বুকিং হারায় না।
কাস্টমারের নামকে তাদের বুকিং রেফারেন্সের সাথে যুক্ত নামের সাথে তুলনা করার জন্য আমরা নিচের কোড ব্যবহার করতে পারি:
class Main { public static void main(String args[]) { String onFileName = "Gregory Lamont"; String customerName = "gregory lamont"; boolean areEqual = onFileName.equalsIgnoreCase(customerName); if (areEqual == true) { System.out.println("এই বুকিং নিশ্চিত।"); } else { System.out.println("প্রদত্ত কাস্টমার নাম ফাইলের সাথে মিলছে না।"); } } } When we run our code, the following response is returned: This booking is confirmed.
আমাদের কোড রান করলে নিচের রেসপন্স রিটার্ন হয়:
এই বুকিং নিশ্চিত।
ফাইলে সংরক্ষিত কাস্টমার নাম Gregory Lamont, কিন্তু ক্লার্ক দ্বারা এন্ট্রি করা কাস্টমার নাম ছিল gregory lamont। যদি আমরা equals() মেথড ব্যবহার করতাম, তবে তাদের কেস ভিন্ন থাকার কারণে এই স্ট্রিংগুলো একই kabul করা হতো না।
তবে, এই উদাহরণে, আমরা equalsIgnoreCase() মেথড ব্যবহার করেছি, যা স্ট্রিংর ক্যারেক্টারগুলোর কেস উপেক্ষা করে।
উপসংহার
স্ট্রিং equals() মেথড দুটি স্ট্রিং হুবহু সমান কিনা তা চেক করতে ব্যবহৃত হয়। equalsIgnoreCase() মেথড দুটি স্ট্রিং সমান কিনা তা চেক করতে ব্যবহৃত হয়, তাদের কেস যাইহোক হোক।
এই টিউটোরিয়ালে উদাহরণসহ জাভাতে স্ট্রিং equals() এবং equalsIgnoreCase() মেথডগুলো কীভাবে ব্যবহার করতে হয় তা ব্যাখ্যা করা হয়েছে। এখন আপনি জাভাতে equals() এবং equalsIgnoreCase() ব্যবহার করে স্ট্রিং তুলনা করতে পারবেন!