Java তে String comparison করতে দুটি সাধারণ মেথড রয়েছে: equals() এবং compareTo(). এই দুটি মেথড ব্যবহার করে আপনি দুটি স্ট্রিংয়ের মধ্যে সমতা (equality) এবং তুলনা (ordering) পরীক্ষা করতে পারেন। নিচে String comparison এর জন্য দুটি মেথডের ব্যবহারের উদাহরণ দেয়া হলো।
1. equals() মেথড:
equals() মেথডটি দুটি স্ট্রিংয়ের মানের তুলনা করে। এটি case-sensitive তুলনা করে, অর্থাৎ বড় হাতের এবং ছোট হাতের অক্ষরকে আলাদা ভাবে দেখে।
Example: String Comparison using equals()
public class StringComparisonExample {
public static void main(String[] args) {
String str1 = "Java";
String str2 = "java";
String str3 = "Java";
// equals() method is case-sensitive
System.out.println("str1 equals str2: " + str1.equals(str2)); // false
System.out.println("str1 equals str3: " + str1.equals(str3)); // true
}
}
Explanation:
str1.equals(str2)→ এখানে,"Java"এবং"java"এর মধ্যে পার্থক্য রয়েছে (case-sensitive), তাই এটিfalseরিটার্ন করবে।str1.equals(str3)→ এখানে"Java"এবং"Java"দুটি স্ট্রিংয়ের মধ্যে কোন পার্থক্য নেই, তাই এটিtrueরিটার্ন করবে।
2. compareTo() মেথড:
compareTo() মেথডটি দুটি স্ট্রিংয়ের lexicographical (alphabetical) তুলনা করে এবং integer value ফেরত দেয়:
- যদি প্রথম স্ট্রিংটি দ্বিতীয় স্ট্রিংয়ের চেয়ে ছোট হয়, তাহলে এটি negative integer রিটার্ন করবে।
- যদি প্রথম স্ট্রিংটি দ্বিতীয় স্ট্রিংয়ের চেয়ে বড় হয়, তাহলে এটি positive integer রিটার্ন করবে।
- যদি দুটি স্ট্রিং সমান হয়, তাহলে এটি 0 রিটার্ন করবে।
Example: String Comparison using compareTo()
public class CompareToExample {
public static void main(String[] args) {
String str1 = "Apple";
String str2 = "Banana";
String str3 = "Apple";
// compareTo() method performs lexicographical comparison
System.out.println("str1 compareTo str2: " + str1.compareTo(str2)); // negative value
System.out.println("str1 compareTo str3: " + str1.compareTo(str3)); // 0
System.out.println("str2 compareTo str1: " + str2.compareTo(str1)); // positive value
}
}
Explanation:
str1.compareTo(str2)→"Apple"এবং"Banana"এর মধ্যে lexicographical তুলনা করা হয়। যেহেতু "Apple" "Banana" এর চেয়ে ছোট (alphabetically first), এটি একটি negative value (যেমন -1) রিটার্ন করবে।str1.compareTo(str3)→"Apple"এবং"Apple"দুটি স্ট্রিং একসমান, তাই এটি 0 রিটার্ন করবে।str2.compareTo(str1)→"Banana"এবং"Apple"এর মধ্যে lexicographical তুলনা, যেহেতু "Banana" "Apple" এর চেয়ে বড়, তাই এটি একটি positive value (যেমন 1) রিটার্ন করবে।
3. Case-insensitive Comparison:
যদি আপনি স্ট্রিংয়ের তুলনা করতে চান এবং ক্যাসে (case) ভিন্নতা উপেক্ষা করতে চান, তবে equalsIgnoreCase() এবং compareToIgnoreCase() মেথড ব্যবহার করতে পারেন।
Example: Case-insensitive comparison
public class CaseInsensitiveExample {
public static void main(String[] args) {
String str1 = "java";
String str2 = "Java";
// equalsIgnoreCase() method is case-insensitive
System.out.println("str1 equalsIgnoreCase str2: " + str1.equalsIgnoreCase(str2)); // true
// compareToIgnoreCase() method is case-insensitive
System.out.println("str1 compareToIgnoreCase str2: " + str1.compareToIgnoreCase(str2)); // 0
}
}
Explanation:
str1.equalsIgnoreCase(str2)→ এখানেequalsIgnoreCase()মেথডটি স্ট্রিংয়ের ক্যাসে ভিন্নতা উপেক্ষা করে তুলনা করবে এবং true রিটার্ন করবে।str1.compareToIgnoreCase(str2)→ এখানেcompareToIgnoreCase()মেথডটি ক্যাসে ভিন্নতা উপেক্ষা করে lexicographical তুলনা করবে এবং 0 রিটার্ন করবে, কারণ স্ট্রিং দুটি সমান।
Summary of String Comparison Methods:
| Method | Description | Example Output |
|---|---|---|
equals(String other) | Compares two strings for equality (case-sensitive). | true or false |
compareTo(String other) | Compares two strings lexicographically (case-sensitive). | Positive, negative, or 0 |
equalsIgnoreCase(String other) | Compares two strings for equality (case-insensitive). | true or false |
compareToIgnoreCase(String other) | Compares two strings lexicographically (case-insensitive). | Positive, negative, or 0 |
equals()মেথডটি case-sensitive স্ট্রিং তুলনা করে এবংcompareTo()মেথডটি স্ট্রিংগুলির lexicographical order পরীক্ষা করে।equalsIgnoreCase()এবংcompareToIgnoreCase()মেথডগুলো case-insensitive তুলনা করতে ব্যবহৃত হয়।- এই মেথডগুলি ব্যবহার করে Java তে স্ট্রিং তুলনা সহজে এবং কার্যকরীভাবে করা যায়।
Read more