在該程序中,您將學(xué)習(xí)使用if-else語句和Java函數(shù)檢查字符串是否為空或null。
public class Null { public static void main(String[] args) { String str1 = null; String str2 = ""; if(isNullOrEmpty(str1)) System.out.println("第一個(gè)字符串是null或空。"); else System.out.println("第一個(gè)字符串不是null或空。"); if(isNullOrEmpty(str2)) System.out.println("第二個(gè)字符串是null或空。"); else System.out.println("第二個(gè)字符串不是null或空。"); } public static boolean isNullOrEmpty(String str) { if(str != null && !str.isEmpty()) return false; return true; } }
運(yùn)行該程序時(shí),輸出為:
第一個(gè)字符串是null或空。 第二個(gè)字符串是null或空。
在上面的程序中,我們有兩個(gè)字符串str1和str2。str1包含null值,str2是一個(gè)空字符串。
我們還創(chuàng)建了一個(gè)函數(shù)isNullOrEmpty(),顧名思義,該函數(shù)檢查字符串是null還是空。 它使用!= null和string的isEmpty()方法進(jìn)行null檢查來對(duì)其進(jìn)行檢查
簡(jiǎn)單地說,如果一個(gè)字符串不是null并且isEmpty()返回false,那么它既不是null也不是空。否則,是的。
但是,如果字符串只包含空白字符(空格),上面的程序不會(huì)返回empty。從技術(shù)上講,isEmpty()發(fā)現(xiàn)它包含空格并返回false。對(duì)于帶有空格的字符串,我們使用string方法trim()來修剪所有前導(dǎo)和末尾的空格字符。
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; } }
運(yùn)行該程序時(shí),輸出為:
str1是null或空。 str2 is null or empty.
在isNullorEmpty()中,我們添加了一個(gè)額外的方法trim(),該方法可以刪除給定字符串中的所有前導(dǎo)和尾隨空格字符。
因此,現(xiàn)在,如果字符串僅包含空格,則函數(shù)將返回true。