示例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.
在上面的程序中,我们有两个字符串 str1和str2 。 str1包含空值, 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
。