CodeGym /Blog Java /Ngẫu nhiên /Phương thức so sánh chuỗi JavaTo()

Phương thức so sánh chuỗi JavaTo()

Xuất bản trong nhóm

Phương thức so sánh chuỗi JavaTo() là gì?

Phương thức so sánh của lớp chuỗi java () trả về giá trị 0 nếu cả hai chuỗi đều bằng nhau về mặt từ điển. Nếu chuỗi so sánh lớn hơn về mặt từ điển thì trả về giá trị dương, nếu không thì trả về giá trị âm. Vì vậy, phương thức so sánh chuỗi JavaTo () được sử dụng để so sánh hai chuỗi. Giá trị unicode của mỗi ký tự trong chuỗi luôn được phương thức này sử dụng để so sánh chúng. Trong khi so sánh các chuỗi, nếu bất kỳ chuỗi nào trống, nó luôn trả về độ dài của chuỗi. Nếu bất kỳ chuỗi nào trống thì hai kịch bản có thể diễn ra. Nếu chuỗi đầu tiên trống thì nó trả về giá trị âm, nếu không thì nó trả về giá trị dương. Phương thức Java string.compareTo() theo mặc định phân biệt chữ hoa chữ thường nhưng chúng ta có thể sử dụng phương thức so sánhToIgnoreCase() của lớp Java String để bỏ qua phân biệt chữ hoa chữ thường trong quá trình so sánh. Phương thức này cũng trả về số nguyên âm, 0 hoặc số nguyên dương như mô tả ở trên.

Cú pháp

public int compareTo(string str)
public int compareTo(object obj)

Thông số

Phương thức so sánh chuỗi JavaTo () nhận một chuỗi hoặc một đối tượng làm tham số như bạn có thể thấy trong cú pháp ở trên.

Trả lại

  1. Nó trả về 0 nếu cả hai đều bằng nhau về mặt từ điển.
  2. Nó trả về số nguyên dương nếu chuỗi hoặc đối tượng được so sánh lớn hơn về mặt từ điển.
  3. Nó trả về số nguyên âm nếu một trong những số được so sánh nhỏ hơn về mặt từ điển.

Ngoại lệ

Phương thức so sánh() trả về 2 ngoại lệ.
  • ClassCastException , nếu không thể so sánh được đối tượng thì nó sẽ trả về ngoại lệ này.
  • NullPointerException , nếu chuỗi rỗng thì NullPointerException sẽ được ném ra.

Ví dụ về phương thức so sánh chuỗi JavaTo()

class Main {
  public static void main(String[] args) {
    // declaring strings to be used in this example for Java string     compareTo() method
    String str = "Java compareTo() method example";
    String str1 = "Java compareTo() method example";
    String str2 = "this is Java compareTo() method example";
    String str3 = "Java CompareTo() Method Example";
    String str4 = "a Java compareTo() method example";
    String str5 = new String("Java compareTo() method example");

    // comparing the str and str1 strings
    System.out.println(str.compareTo(str1));

    // comparing the str and str2 strings
    System.out.println(str.compareTo(str2));

    // comparing the str and str3 strings
    System.out.println(str.compareTo(str3));

    // comparing the str and str4 strings
    System.out.println(str.compareTo(str4));

    // comparing the str string and str5 string object
    System.out.println(str.compareTo(str5));
  }
}

đầu ra

0 -42 74 -23 0
Như chúng ta đã biết, chuỗi strstr1 bằng nhau về mặt từ điển nên nó trả về 0. Trong khi so sánh strstr2 , nó trả về giá trị âm 42 vì chuỗi so sánh str nhỏ hơn về mặt từ điển nên nó là số âm và trên cơ sở giá trị unicode t char và J char có chênh lệch là 42 nên giá trị -42 được trả về. Các phần còn lại bạn có thể xem kết quả để hiểu rõ hơn về phương pháp này.

Ví dụ về một chuỗi rỗng

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring an empty string
        String str1="";
        String str2="method";

        System.out.println(str.compareTo(str1));
        System.out.println(str1.compareTo(str2));
    }
}

đầu ra

11 -6

Ví dụ về IgnoreCase

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring the same string with uppercase letters
        String str1="COMPARETO()";

        System.out.println(str.compareTo(str1));
        System.out.println(str.compareToIgnoreCase(str1));
    }
}

đầu ra

32 0

Phần kết luận

Chúng tôi hy vọng đến bây giờ bạn đã hiểu phương thức so sánh chuỗi JavaTo() là gì và cách triển khai nó để so sánh chuỗi, cùng với các trường hợp người dùng khác nhau, chẳng hạn như so sánh chuỗi trống và bỏ qua phân biệt chữ hoa chữ thường. Hãy thoải mái thực hành và quay lại bất cứ khi nào bạn cần thêm trợ giúp. Chúc bạn học tập vui vẻ!
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION