So sánh 2 chuỗi phân biệt chữ hoa chữ thường năm 2024

Java cung cấp các phương thức khác nhau mà bạn có thể tận dụng để so sánh hai chuỗi trong Java. So sánh chuỗi trong Java là một tính năng khớp một chuỗi ký tự với một chuỗi.

Để tìm hiểu cách so sánh các chuỗi trong Java, bạn có thể sử dụng các phương thức được cung cấp bởi bài viết sau.wing các lớp học.

  • Lớp chuỗi từ gói Java.lang.
  • Lớp đối tượng từ gói Java.util.
  • Lớp StringUtils từ gói org.apache.commons.lang3.

Hầu hết các phương thức chuỗi so sánh Java này đều có giải pháp để bỏ qua trường hợp này. Trong này Hướng dẫn Java, bạn sẽ tìm hiểu các phương pháp khác nhau mà bạn có thể sử dụng để so sánh hai chuỗi.

Mô hình Chuỗi Java phương thức bằng() compares hai đối tượng chuỗi cho các giá trị chuỗi bằng nhau.

Cú pháp:

public boolean equals(Object anObject)

tham số phương thức bằng():

anObject – Chuỗi đối số để so sánh các chuỗi.

các kiểu trả về của phương thức bằng()

  • Trả về true nếu chuỗi ký tự được cung cấp giống với chuỗi đầu tiên.
  • Trả về false nếu chuỗi đầu tiên không giống với chuỗi đối số.

Ví dụ:

public class CompareTwoStrings { public static void main(String[] args) { String stringOne = "Guru99"; String stringTwo = "Guru99"; System.out.println("is Guru99 equal to Guru99: "+stringOne.equals(stringTwo)); String stringThree = "GURU99"; System.out.println("is Guru99 equal to GURU99: "+stringOne.equals(stringThree)); } }

Đầu ra mong đợi:

is Guru99 equal to Guru99: true is Guru99 equal to GURU99: false

Giải thích:

  • Bạn nhận được kết quả sai ở kết quả cuối cùng vì đối tượng được chỉ định có trường hợp khác.

Chú thích: Sử dụng phương thức chuỗi bằng để so sánh chuỗi phân biệt chữ hoa chữ thường. Sử dụng phương thức “equalsIgnoreCase” để so sánh các đối tượng chuỗi với các giá trị chuỗi khác nhau.

Cách 2: Phương thức đối tượng bằng()

Mô hình Đối tượng Java bằng() phương pháp tính toánares hai đối tượng chuỗi để tìm xem chúng có cùng giá trị hay không.

Cú pháp:

public static boolean equals(Object a, Object b)

tham số phương thức bằng()

a – Chuỗi đối số cho đối tượng chuỗi đầu tiên.

b – Chuỗi đối số cho đối tượng chuỗi thứ hai.

các kiểu trả về của phương thức bằng()

  • Trả về true nếu các chuỗi ký tự bằng nhau. Việc truyền giá trị null vào hai đối số cũng sẽ trả về giá trị true.
  • Trả về false nếu các chuỗi ký tự không bằng nhau.

Ví dụ:

import java.util.Objects; public class CompareTwoStrings {

public static void main(String[] args) {
    String stringOne = "Guru99";
    String stringTwo = "Guru99";
    System.out.println("is Guru99 equal to Guru99: " + Objects.equals(stringOne, stringTwo));
    String stringThree = null;
    String stringFour = null;
    System.out.println("is Guru99 equal to Guru99: " + Objects.equals(stringThree, stringFour));
}
}

Đầu ra:

is Guru99 equal to Guru99: true is Guru99 equal to Guru99: true

Giải thích:

Từ ví dụ này, bạn có thể thấy rằng đầu ra là giá trị boolean là true vì các chuỗi được so sánh bằng nhau.

Cách 3: Phương thức so sánh chuỗiTo()

Mô hình So sánh chuỗi JavaTo() phương pháp tính toánares hai chuỗi theo thứ tự bảng chữ cái. Nó thường được gọi là thứ tự từ điển.

Cú pháp:

public int compareTo(String str)

tham số phương thức so sánh()

str – Chuỗi để so sánh với chuỗi hiện tại.

Phương thức so sánh() trả về

  • 0 – Trả về XNUMX nếu đối tượng được chỉ định bằng chuỗi hiện tại.
  • < 0 – Trả về một số nhỏ hơn XNUMX nếu chuỗi này nhỏ hơn đối tượng được chỉ định.
  • \> 0 – Trả về số lớn hơn XNUMX nếu chuỗi này vượt quá chuỗi được cung cấp.

Ví dụ:

public class CompareTwoStrings {

public static void main(String[] args) {
    String stringOne = "Guru99";
    String stringTwo = "Guru99";
    System.out.println("is Guru99 equal to Guru99: " + stringOne.compareTo(stringTwo));
    String stringThree = "GURU99";
// u = 117, U = 85, result = 117-85 = 32
    System.out.println("is Guru99 equal to GURU99: " + stringOne.compareTo(stringThree));
}
}

Đầu ra mong đợi:

is Guru99 equal to Guru99: 0 is Guru99 equal to GURU99: 32

Giải thích:

Kết quả đầu tiên trả về giá trị bằng 0 vì chuỗi thứ nhất và chuỗi thứ hai bằng nhau.

Kết quả thứ hai trả về giá trị ba mươi hai vì các ký tự khác nhau.

Lưu ý: Để bỏ qua các trường hợp, bạn có thể sử dụng phương thức “compareToIgnoreCase”.

Phương pháp 4: Phương thức StringUtils bằng()

Mô hình Java StringUtils bằng() phương pháp tính toánares sự bằng nhau của hai dãy ký tự.

Đảm bảo bạn đã thêm thư viện “org.apache.commons.lang3” vào chương trình của mình. Điều này sẽ cho phép bạn so sánh các chuỗi bằng các phương thức StringUtil.

Đối với các dự án Maven, hãy sử dụng cái này hướng dẫn để thêm thư viện vào dự án.

Tuy nhiên, nếu bạn muốn thêm thư viện mà không cần bất kỳ công cụ xây dựng nào, hãy sử dụng công cụ này hướng dẫn.

Cú pháp:

public static boolean equals(CharSequnce cs1, CharSequence cs2)

Tham số phương thức StringUtils Equals()

  • cs1 – Một chuỗi ký tự cho đối số đầu tiên.
  • cs2 – Một chuỗi ký tự cho đối số thứ hai.

Phương thức StringUtils bằng() trả về

  • Trả về true nếu so sánh chuỗi bằng nhau. Nó áp dụng nếu bạn chuyển một giá trị null trong hai đối số.
  • Trả về false nếu so sánh chuỗi không bằng.

Ví dụ:

public class CompareTwoStrings { public static void main(String[] args) { String stringOne = "Guru99"; String stringTwo = "Guru99"; System.out.println("is Guru99 equal to Guru99: "+stringOne.equals(stringTwo)); String stringThree = "GURU99"; System.out.println("is Guru99 equal to GURU99: "+stringOne.equals(stringThree)); } }

0

Đầu ra:

is Guru99 equal to Guru99: true is Guru99 equal to GURU99: false

Giải thích:

Vì nội dung của chuỗi thứ nhất và chuỗi thứ hai bằng nhau nên kết quả trả về là true.

Bạn có thể sử dụng phương thức “equalsIgnoreCase” để bỏ qua trường hợp này.

Phương pháp 5: Phương thức StringUtils EqualsAny()

Mô hình Java StringUtils bằngAny() phương thức kiểm tra xem một chuỗi có tồn tại trong các đối số hay không.

Cú pháp:

public class CompareTwoStrings { public static void main(String[] args) { String stringOne = "Guru99"; String stringTwo = "Guru99"; System.out.println("is Guru99 equal to Guru99: "+stringOne.equals(stringTwo)); String stringThree = "GURU99"; System.out.println("is Guru99 equal to GURU99: "+stringOne.equals(stringThree)); } }

2

Tham số phương thức StringUtils EqualsAny()

  • chuỗi – Giá trị chuỗi cho đối số đầu tiên. Đối số cũng có thể có giá trị null.
  • searchStrings – Một tập hợp các đối số chuỗi cho phương thức để tìm xem chuỗi đối số đầu tiên có xuất hiện hay không.

Phương thức StringUtils EqualsAny() trả về

  • Trả về true nếu chuỗi khớp tồn tại trong số lượng chuỗi tìm kiếm thay đổi. Điều này áp dụng nếu cả hai đối số đều rỗng.
  • Trả về false nếu chuỗi cần khớp không khớp với bất kỳ chuỗi nào trong số lượng chuỗi tìm kiếm có thể thay đổi.

Ví dụ:

public class CompareTwoStrings { public static void main(String[] args) { String stringOne = "Guru99"; String stringTwo = "Guru99"; System.out.println("is Guru99 equal to Guru99: "+stringOne.equals(stringTwo)); String stringThree = "GURU99"; System.out.println("is Guru99 equal to GURU99: "+stringOne.equals(stringThree)); } }

3

Đầu ra:

public class CompareTwoStrings { public static void main(String[] args) { String stringOne = "Guru99"; String stringTwo = "Guru99"; System.out.println("is Guru99 equal to Guru99: "+stringOne.equals(stringTwo)); String stringThree = "GURU99"; System.out.println("is Guru99 equal to GURU99: "+stringOne.equals(stringThree)); } }

4

Giải thích:

Vì nội dung của chuỗi đầu tiên và chuỗi thứ hai bằng nhau nên kết quả trả về là true. Bạn có thể sử dụng phương thức “equalsAnyIgnoreCase” để bỏ qua trường hợp này.