📜  Java程序检查字符串是否为空或空

📅  最后修改于: 2020-09-26 19:22:26             🧑  作者: Mango

在该程序中,您将学习使用if-else语句和Java函数检查字符串是否为空或null。

示例1:检查字符串是否为空或空
public class Null {

    public static void main(String[] args) {
        String str1 = null;
        String str2 = "";

        if(isNullOrEmpty(str1))
            System.out.println("First string is null or empty.");
        else
            System.out.println("First string is not null or empty.");

        if(isNullOrEmpty(str2))
            System.out.println("Second string is null or empty.");
        else
            System.out.println("Second string is not null or empty.");
    }

    public static boolean isNullOrEmpty(String str) {
        if(str != null && !str.isEmpty())
            return false;
        return true;
    }
}

输出

str1 is null or empty.
str2 is null or empty.

在上面的程序中,我们有两个字符串 str1str2str1包含空值, str2是一个空字符串。

我们还创建了一个函数 isNullOrEmpty() ,顾名思义,该函数检查字符串是null还是空。它使用!= null和字符串的isEmpty()方法进行null检查来对其进行检查。

简而言之,如果字符串不是null并且isEmpty()返回false ,则它既不是null也不为空。否则,是的。

但是,如果字符串仅包含空格字符 (空格),则上述程序不会返回空。从技术上讲, isEmpty()看到它包含空格并返回false 。对于字符串的空间,我们使用字符串方法trim()修剪出所有的开头和结尾的空白字符 。


示例2:检查带空格的字符串是否为空或空
public class Null {

    public static void main(String[] args) {
        String str1 = null;
        String str2 = "   ";

        if(isNullOrEmpty(str1))
            System.out.println("str1 is null or empty.");
        else
            System.out.println("str1 is not null or empty.");

        if(isNullOrEmpty(str2))
            System.out.println("str2 is null or empty.");
        else
            System.out.println("str2 is not null or empty.");
    }

    public static boolean isNullOrEmpty(String str) {
        if(str != null && !str.trim().isEmpty())
            return false;
        return true;
    }
}

输出

str1 is null or empty.
str2 is null or empty.

isNullorEmpty() ,我们添加了一个额外的trim()方法,该方法删除了给定字符串中的所有前导和尾随空白字符 。

因此,现在,如果字符串仅包含空格,则该函数返回true