11/08/2018, 19:42

So sánh chuỗi trong java

Immutable String trong java So sánh chuỗi trong java Chúng ta có thể so sánh chuỗi trong java trên cơ sở nội dung và tham chiếu của nó. Nó được sử dụng trong xác thực (bởi phương thức equals()), sắp xếp (theo phương thức compareTo()), so sánh tham chiếu(với toán tử ==), vv ...

Immutable String trong java

So sánh chuỗi trong java

Chúng ta có thể so sánh chuỗi trong java trên cơ sở nội dung và tham chiếu của nó.

Nó được sử dụng trong xác thực (bởi phương thức equals()), sắp xếp (theo phương thức compareTo()), so sánh tham chiếu(với toán tử ==), vv

Có ba cách để so sánh chuỗi trong java:

  1. Sử dụng phương thức equals()
  2. Sử dụng toán tử ==
  3. Sử dụng phương thức compareTo()

1) So sánh chuỗi bằng phương thức equals()

Phương thức equals() được sử dụng để so sánh nội dung của 2 chuỗi. Lớp String cung cấp 2 phương thức equals():

  • public boolean equals(Object another): so sánh 2 chuỗi có phân biệt chữ hoa, chữ thường.
  • public boolean equalsIgnoreCase(String another): so sánh 2 chuỗi không phân biệt chữ hoa, chữ thường.

Ví dụ 1:

public class Teststringcomparison1 {
	public static void main(String args[]) {
		String s1 = "Hello";
		String s2 = "Hello";
		String s3 = new String("Hello");
		String s4 = "Hallo";
		System.out.println(s1.equals(s2));//true  
		System.out.println(s1.equals(s3));//true  
		System.out.println(s1.equals(s4));//false  
	}
}

Output:

true
true
false

Ví dụ 2:

public class Teststringcomparison2 {
	public static void main(String args[]) {
		String s1 = "Hello";
		String s2 = "HELLO";

		System.out.println(s1.equals(s2));//false  
		System.out.println(s1.equalsIgnoreCase(s2));//true  
	}
}

Output:

false
true

2) So sánh chuỗi bằng toán tử ==

Toán tử == được sử dụng để so sánh tham chiếu (không phải giá trị) của 2 chuỗi.

Ví dụ 3:

public class Teststringcomparison3 {
	public static void main(String args[]) {
		String s1 = "Hello";
		String s2 = "Hello";
		String s3 = new String("Hello");
		System.out.println(s1 == s2);//true (vì cả 2 cùng tham chiếu instance giống nhau)  
		System.out.println(s1 == s3);//false(vì s3 tham chiếu instance mà không ở trong Pool)  
	}
}

Output:

true
false

3) So sánh chuỗi bằng phương thức compareTo()

Phương thức compareTo () so sánh các giá trị theo thứ tự từ điển và trả về một giá trị số nguyên mô tả nếu chuỗi đầu tiên nhỏ hơn, bằng hoặc lớn hơn chuỗi thứ hai.

Giả sử s1 và s2 là hai biến chuỗi. Nếu:

  • s1 == s2 : 0
  • s1 > s2 : giá trị > 0
  • s1

Ví dụ 4:

	public static void main(String args[]) {
		String s1 = "Hello";
		String s2 = "Hello";
		String s3 = "Java";
		System.out.println(s1.compareTo(s2));
		System.out.println(s1.compareTo(s3));
		System.out.println(s3.compareTo(s1));
	}

Output:

0
-2
2

Tìm hiểu về xử lý chuỗi trong java
  • String là gì
  • Immutable String
  • So sánh String
  • Nối String
  • Sub-String
  • Phương thức của lớp String
  • Lớp StringBuffer
  • Lớp StringBuilder
  • String vs StringBuffer
  • StringBuffer vs Builder
  • Tạo lớp Immutable
  • Phương thức toString
  • Lớp StringTokenizer
Immutable String trong java
0