Các phương thức so sánh nội dung chuỗi trong lớp String

Những phương thức so sánh toàn bộ chuỗi

↳ boolean equals(Object anObject): So sánh hai đối tượng xem có bằng nhau không (áp dụng cho cả chuỗi).

↳ boolean equalsIgnoreCase(String anotherString): So sánh hai chuỗi, bỏ qua chữ hoa chữ thường.

↳ boolean contentEquals(CharSequence cs): So sánh nội dung của chuỗi hiện tại với chuỗi cs.

↳ boolean contentEquals(StringBuffer sb): So sánh nội dung của chuỗi hiện tại với StringBuffer được chỉ định.

Dưới đây là ví dụ về cách sử dụng 3 phương thức so sánh toàn bộ chuỗi (equals, equalsIgnoreCase, contentEquals) trong cùng một lớp Java:

Ví dụ: Example.java

public class Example {
    public static void main(String[] args) {
        String str1 = "Hello, World!";
        String str2 = "Hello, World!";
        String str3 = "HELLO, WORLD!";
        StringBuffer stringBuffer = new StringBuffer("Hello, World!");

        // 1. equals(Object anObject)
        boolean isEqual = str1.equals(str2);
        System.out.println("str1 bằng str2: " + isEqual);

        // 2. equalsIgnoreCase(String anotherString)
        boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str3);
        System.out.println("str1 bằng str3 (bỏ qua chữ hoa chữ thường): " + isEqualIgnoreCase);

        // 3. contentEquals(CharSequence cs)
        boolean contentEqualsCharSequence = str1.contentEquals(str2);
        System.out.println("Nội dung str1 bằng str2: " + contentEqualsCharSequence);

        // 4. contentEquals(StringBuffer sb)
        boolean contentEqualsStringBuffer = str1.contentEquals(stringBuffer);
        System.out.println("Nội dung str1 bằng StringBuffer: " + contentEqualsStringBuffer);
    }
}

Kết quả của chương trình là:

str1 bằng str2: true
str1 bằng str3 (bỏ qua chữ hoa chữ thường): true
Nội dung str1 bằng str2: true
Nội dung str1 bằng StringBuffer: true

Hy vọng ví dụ này giúp bạn hiểu rõ hơn về cách sử dụng các phương thức so sánh toàn bộ chuỗi trong Java.

Những phương thức so sánh một phần của chuỗi

↳ boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len): Kiểm tra xem hai vùng của chuỗi có bằng nhau hay không, có thể bỏ qua chữ hoa chữ thường.

↳ boolean regionMatches(int toffset, String other, int ooffset, int len): Kiểm tra xem hai vùng của chuỗi có bằng nhau hay không.

Dưới đây là ví dụ về cách sử dụng 2 phương thức so sánh một phần của chuỗi (regionMatches) trong cùng một lớp Java:

Ví dụ: Example.java

public class Example {
    public static void main(String[] args) {
        String str1 = "Hello, World!";
        String str2 = "HELLO, everyone!";
        String str3 = "Hello, everyone!";

        // 1. regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
        boolean regionMatchesIgnoreCase = str1.regionMatches(true, 0, str2, 0, 5);
        System.out.println("So sánh vùng (bỏ qua chữ hoa chữ thường): " + regionMatchesIgnoreCase);

        // 2. regionMatches(int toffset, String other, int ooffset, int len)
        boolean regionMatchesCaseSensitive = str1.regionMatches(0, str3, 0, 5);
        System.out.println("So sánh vùng (phân biệt chữ hoa chữ thường): " + regionMatchesCaseSensitive);

        // 3. regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
        boolean regionMatchesMiddle = str1.regionMatches(true, 7, str3, 7, 6);
        System.out.println("So sánh vùng giữa hai chuỗi: " + regionMatchesMiddle);
    }
}

Kết quả của chương trình là:

So sánh vùng (bỏ qua chữ hoa chữ thường): true
So sánh vùng (phân biệt chữ hoa chữ thường): true
So sánh vùng giữa hai chuỗi: false

Hy vọng ví dụ này giúp bạn hiểu rõ hơn về cách sử dụng các phương thức so sánh một phần của chuỗi trong Java.

Những phương thức so sánh chuỗi (có liên quan đến vị trí)

↳ int compareTo(String anotherString): So sánh hai chuỗi theo thứ tự từ điển.

↳ int compareToIgnoreCase(String str): So sánh hai chuỗi theo thứ tự từ điển, bỏ qua chữ hoa chữ thường.

Dưới đây là ví dụ về cách sử dụng các phương thức so sánh chuỗi trong cùng một lớp Java:

Ví dụ: Example.java

public class Example {
    public static void main(String[] args) {
        String str1 = "Hello";
        String str2 = "hello";
        String str3 = "World";

        // 1. compareTo(String anotherString): So sánh hai chuỗi theo thứ tự từ điển
        int result1 = str1.compareTo(str2);
        System.out.println("So sánh '" + str1 + "' với '" + str2 + "': " + result1);

        int result2 = str1.compareTo(str3);
        System.out.println("So sánh '" + str1 + "' với '" + str3 + "': " + result2);

        // 2. compareToIgnoreCase(String str): So sánh hai chuỗi theo thứ tự từ điển, bỏ qua chữ hoa chữ thường
        int result3 = str1.compareToIgnoreCase(str2);
        System.out.println("So sánh bỏ qua chữ hoa/thường '" + str1 + "' với '" + str2 + "': " + result3);

        int result4 = str1.compareToIgnoreCase(str3);
        System.out.println("So sánh bỏ qua chữ hoa/thường '" + str1 + "' với '" + str3 + "': " + result4);
    }
}

Kết quả của chương trình là:

So sánh 'Hello' với 'hello': -32
So sánh 'Hello' với 'World': -15
So sánh bỏ qua chữ hoa/thường 'Hello' với 'hello': 0
So sánh bỏ qua chữ hoa/thường 'Hello' với 'World': -15

Ví dụ trên minh họa cách sử dụng các phương thức so sánh chuỗi, cho thấy sự khác biệt giữa việc so sánh có và không phân biệt chữ hoa chữ thường.

Câu Nói Truyền Cảm Hứng

“Bắt đầu ở đâu không quan trọng, quan trọng là bạn sẵn sàng bắt đầu.” – W. Clement Stone

Không Gian Tích Cực

“Chúc bạn luôn giữ vững niềm tin và sức mạnh để vượt qua mọi thử thách trong cuộc sống.”