String Comparison Example: String এর মধ্যে তুলনা (equals(), compareTo())

Java String Examples - জাভা উদাহরন (Java  Examples) - Java Technologies

419

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:

MethodDescriptionExample 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 তে স্ট্রিং তুলনা সহজে এবং কার্যকরীভাবে করা যায়।
Content added By
Promotion

Are you sure to start over?

Loading...