Chúng ta có thể so sánh các chuỗi trong Java theo nhiều cách khác nhau -
-
Sử dụng phương thức comapareTo () - CompareTo () phương pháp so sánh từ điển hai chuỗi. So sánh dựa trên giá trị Unicode của mỗi ký tự trong chuỗi. Chuỗi ký tự được đại diện bởi đối tượng Chuỗi này được so sánh theo từ điển với chuỗi ký tự được đại diện bởi chuỗi đối số.
Ví dụ
import java.util.Scanner; public class StringComparison { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter string1: "); String str1 = sc.next(); System.out.println("Enter string2: "); String str2 = sc.next(); int result = str1.compareTo(str2); if (result < 0) { System.out.println("str1 is not equal to str2"); } else if (result == 0) { System.out.println("str1 is equal to str2"); } else { System.out.println("str1 is not equal to str2"); } } }
Đầu ra1
Enter string1: Hello Enter string2: Hello str1 is equal to str2
Đầu ra2
Enter string1: hello Enter string2: hi str1 is not equal to str2
-
Sử dụng toán tử == - Bạn có thể so sánh hai chuỗi bằng cách sử dụng toán tử ==. Tuy nhiên, nó so sánh các tham chiếu của các biến đã cho không phải giá trị.
Ví dụ
import java.util.Scanner; public class StringComparison { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str1 = "hello"; String str2 = "hello"; if (str1 == str2 ){ System.out.println("Both are equal"); } else { System.out.println("Both are not equal"); } } }
Đầu ra
Both are equal
-
Sử dụng bằng () phương thức - của lớp String chấp nhận một tham số String và nó so sánh chuỗi hiện tại với đối tượng được chỉ định. Kết quả là true nếu và chỉ khi đối số không rỗng và là đối tượng Chuỗi đại diện cho cùng một chuỗi ký tự với đối tượng này bao gồm cả chữ hoa và chữ thường.
Ví dụ
import java.util.Scanner; public class StringComparison { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter string1: "); String str1 = sc.next(); System.out.println("Enter string2: "); String str2 = sc.next(); boolean bool = str1.equals(str2); if (bool) { System.out.println("Both are equal"); } else { System.out.println("Both are not equal"); } } }
Đầu ra1
Enter string1: Hello Enter string2: hello Both are not equal
Đầu ra2
Enter string1: Hello Enter string2: Hello Both are equal
So sánh chuỗi không phân biệt chữ hoa chữ thường
equalsIgnoreCase () phương thức của lớp String tương tự như phương thức equals (), sự khác biệt nếu phương thức này so sánh chuỗi đã cho với chuỗi bỏ qua hiện tại.
Ví dụ
import java.util.Scanner; public class StringComparison { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter string1: "); String str1 = sc.next(); System.out.println("Enter string2: "); String str2 = sc.next(); boolean bool = str1.equalsIgnoreCase(str2); if (bool) { System.out.println("Both are equal"); } else { System.out.println("Both are not equal"); } } }
Đầu ra1
Enter string1: Hello Enter string2: hello Both are equal