Cách kiểm tra String là Empty hay Blank trong Java

Trong Java, một empty string và blank string là 2 khái niệm khác nhau hoàn toàn. Tuy nhiên nó luôn khiến những người mới học Java bối rối khi phải phân biệt 2 khái niệm này. Một empty string là một chuỗi được khởi tạo không chứa bất kỳ một ký tự nào trong khi blank string là một chuỗi có thể chứa ký tự khoảng trắng.

Luôn nhớ rằng một string chỉ chứa các ký tự khoảng trắng có thể được coi là empty hoặc không, tùy thuộc vào ngữ nghĩa chương trình. String chỉ có khoảng trắng cũng được gọi là blank string trong Java.

Trong hướng dẫn này, chúng ta sẽ tìm ra các cách đúng để kiểm tra xem một string là empty hay blank trong Java.

Kiểm tra string empty hay không

Một string được xem là empty nếu giá trị của nó NULL hoặc không chứa bất kỳ một ký tự nào kể cả khoảng trắng. Nếu một string chỉ bao gồm các ký tự khoảng trắng nó được gọi là blank string.

isEmpty() từ Java 6

Đây là cách dễ sử dụng và ngắn gọn nhất để kiểm tra một string có empty hay là không. 

public class StringNullEmptyCheck {
    public static void main(String[] args) {
        String string1 = null;
        String string2 = "";
        if(isStringEmpty(string1)){
            System.out.println("string1 is Empty!");
        }
        if(isStringEmpty(string2)){
            System.out.println("string2 is Empty!");
        }
    }
    static boolean isStringEmpty(String string){
        return string==null || string.isEmpty();
    }
}

Length() từ Java 5 trở xuống

Đây là giải pháp phổ biến và hoạt động trên tất cả các phiên bản Java, từ JDK 1 đến 15. Phương pháp này rất được khuyến khích vì lợi thế về tính di động mà nó mang lại

public class StringNullEmptyCheck {
    public static void main(String[] args) {
        String string1 = null;
        String string2 = "";

        if(isStringEmpty(string1)){
            System.out.println("string1 is Empty!");
        }
        if(isStringEmpty(string2)){
            System.out.println("string2 is Empty!");
        }
    }

    static boolean isStringEmpty(String string){
        return string==null || string.length() == 0;
    }
}

Kiểm tra String blank hay không

Như đã đề cập ở trên thì blank string là một string chỉ chứa các ký tự khoảng trắng, hoặc có thể là ký tự tab.

Trim() và length() từ Java 10 trở xuống

Chúng ta có thể sử dụng trim() để loại bỏ tất cả các khoảng trắng đầu và cuối chuỗi. Sau đó sử dụng length() để kiểm tra nếu kết quả là 0 nghĩa là chúng ta nhận được một blank string.

public class StringNullEmptyCheck {
    public static void main(String[] args) {
        String string1 = null;
        String string2 = "      ";

        if(isStringEmpty(string1)){
            System.out.println("string1 is Empty!");
        }
        if(isStringEmpty(string2)){
            System.out.println("string2 is Empty!");
        }
    }
    static boolean isStringEmpty(String string){
        return string==null || string.trim().length() == 0;
    }
}

isBlank từ Java 11

Java 11 giới thiệu isBlank() method dùng để kiểm tra một chuỗi là empty hoặc chỉ chứa các ký tự khoảng trắng. 

public class StringNullEmptyCheck {
    public static void main(String[] args) {
        String string1 = null;
        String string2 = "      ";
        if(isStringEmpty(string1)){
            System.out.println("string1 is Empty!");
        }
        if(isStringEmpty(string2)){
            System.out.println("string2 is Empty!");
        }
   }
    static boolean isStringEmpty(String string){
        return string==null || string.isBlank();
    }

}

Ngoài ra còn các thư viện cung cấp các method kiểm tra như Google Guava, Spring, hoặc Apache commons.

Nguồn

https://dzone.com/articles/check-if-a-string-is-empty-or-blank-in-java

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x