跳到主要内容

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

要理解此示例,您应该具备以下 Java 编程 主题的知识:

示例 1:检查字符串是否为空或为 null

class Main {
public static void main(String[] args) {

// 创建 null、空字符串和普通字符串
String str1 = null;
String str2 = "";
String str3 = " ";

// 检查 str1 是否为 null 或空
System.out.println("str1 是 " + isNullEmpty(str1));

// 检查 str2 是否为 null 或空
System.out.println("str2 是 " + isNullEmpty(str2));

// 检查 str3 是否为 null 或空
System.out.println("str3 是 " + isNullEmpty(str3));
}

// 方法检查字符串是否为 null 或空
public static String isNullEmpty(String str) {

// 检查字符串是否为 null
if (str == null) {
return "NULL";
}

// 检查字符串是否为空
else if (str.isEmpty()){
return "EMPTY";
}

else {
return "既非 NULL 也非 EMPTY";
}
}
}

输出

str1 是 NULL
str2 是 EMPTY
str3 是 既非 NULL 也非 EMPTY

在上述程序中,我们创建了:

  • 一个 null 字符串 str1
  • 一个空字符串 str2
  • 一个只包含空格的字符串 str3
  • 方法 isNullEmpty() 用来检查字符串是否为 null 或空

这里,str3 只包含空格。然而,程序并不认为它是空字符串。

这是因为在 Java 中,空格被视为字符,带有空格的字符串是一个普通字符串。

现在,如果我们想让程序将只含有空格的字符串视为空字符串,我们可以使用 trim() 方法。该方法会移除字符串中的所有空格。

示例 2:检查带空格的字符串是否为空或为 null

class Main {
public static void main(String[] args) {

// 创建一个带空格的字符串
String str = " ";

// 检查 str 是否为 null 或空
System.out.println("str 是 " + isNullEmpty(str));
}

// 方法检查字符串是否为 null 或空
public static String isNullEmpty(String str) {

// 检查字符串是否为 null
if (str == null) {
return "NULL";
}

// 检查字符串是否为空
else if (str.trim().isEmpty()){
return "EMPTY";
}

else {
return "既非 NULL 也非 EMPTY";
}
}
}

输出

str 是 EMPTY

在上述示例中,注意检查空字符串的条件

else if (str.trim().isEmpty())

这里,我们在 isEmpty() 之前使用了 trim() 方法。这将:

  1. 移除字符串内所有的空格
  2. 检查字符串是否为空

因此,我们得到输出 str 是 EMPTY