在该程序中,您将学习使用if-else语句和Java函数检查字符串是否为空或null。
public class Null {
public static void main(String[] args) {
String str1 = null;
String str2 = "";
if(isNullOrEmpty(str1))
System.out.println("第一个字符串是null或空。");
else
System.out.println("第一个字符串不是null或空。");
if(isNullOrEmpty(str2))
System.out.println("第二个字符串是null或空。");
else
System.out.println("第二个字符串不是null或空。");
}
public static boolean isNullOrEmpty(String str) {
if(str != null && !str.isEmpty())
return false;
return true;
}
}运行该程序时,输出为:
第一个字符串是null或空。 第二个字符串是null或空。
在上面的程序中,我们有两个字符串str1和str2。str1包含null值,str2是一个空字符串。
我们还创建了一个函数isNullOrEmpty(),顾名思义,该函数检查字符串是null还是空。 它使用!= null和string的isEmpty()方法进行null检查来对其进行检查
简单地说,如果一个字符串不是null并且isEmpty()返回false,那么它既不是null也不是空。否则,是的。
但是,如果字符串只包含空白字符(空格),上面的程序不会返回empty。从技术上讲,isEmpty()发现它包含空格并返回false。对于带有空格的字符串,我们使用string方法trim()来修剪所有前导和末尾的空格字符。
public class Null {
public static void main(String[] args) {
String str1 = null;
String str2 = " ";
if(isNullOrEmpty(str1))
System.out.println("str1是null或空。");
else
System.out.println("str1不是null或空。");
if(isNullOrEmpty(str2))
System.out.println("str2是null或空。");
else
System.out.println("str2不是null或空。");
}
public static boolean isNullOrEmpty(String str) {
if(str != null && !str.trim().isEmpty())
return false;
return true;
}
}运行该程序时,输出为:
str1是null或空。 str2 is null or empty.
在isNullorEmpty()中,我们添加了一个额外的方法trim(),该方法可以删除给定字符串中的所有前导和尾随空格字符。
因此,现在,如果字符串仅包含空格,则函数将返回true。