java中判斷String型別為空和null的方法

TechSynapse發表於2024-06-01

1.判斷一個String型別的變數是否為空(即長度為0)或者為null

在Java中,判斷一個String型別的變數是否為空(即長度為0)或者為null,通常需要使用兩個條件語句來進行檢查。這是因為null表示變數沒有引用任何物件,而空字串("")表示變數引用了一個沒有內容的字串物件。

下面是一個具體的程式碼示例,展示瞭如何判斷一個String變數是否為空或null

public class StringCheckExample {  
  
    public static void main(String[] args) {  
        // 定義一個可能為null或空的String變數  
        String myString = null; // 我們可以根據需要更改這個變數的值  
  
        // 判斷String是否為null或空  
        if (myString == null || myString.isEmpty()) {  
            System.out.println("The string is null or empty.");  
        } else {  
            System.out.println("The string is not null and not empty. Its value is: " + myString);  
        }  
  
        // 注意:如果myString是null,直接呼叫myString.isEmpty()會丟擲NullPointerException  
        // 因此我們需要先檢查myString是否為null  
    }  
  
    // 額外的方法,用於安全地檢查String是否為空或null,並返回一個預設值  
    public static String safeGetString(String input, String defaultValue) {  
        return (input == null || input.isEmpty()) ? defaultValue : input;  
    }  
  
    // 使用safeGetString方法的示例  
    public static void testSafeGetString() {  
        String myString = null; // 或者 "",或者任何其他的String值  
        String result = safeGetString(myString, "Default Value");  
        System.out.println("The result is: " + result);  
    }  
}

在這個示例中,main方法展示瞭如何直接判斷一個String變數是否為空或null。而safeGetString方法則是一個實用工具方法,它接受一個String輸入和一個預設值,如果輸入為null或空,則返回預設值,否則返回輸入值本身。在testSafeGetString方法中,我們展示瞭如何使用這個實用工具方法。

2.完整的程式碼示例

以下是一個完整的Java程式碼示例,其中包含了判斷String是否為null或空("")的邏輯,以及一個輔助方法用於安全地獲取字串或預設值:

public class StringNullOrEmptyCheck {  
  
    public static void main(String[] args) {  
        // 示例1:測試一個為null的字串  
        String string1 = null;  
        checkString(string1);  
  
        // 示例2:測試一個空字串  
        String string2 = "";  
        checkString(string2);  
  
        // 示例3:測試一個非空非null的字串  
        String string3 = "Hello, World!";  
        checkString(string3);  
  
        // 使用safeGetString方法  
        String safeString1 = safeGetString(string1, "預設值");  
        System.out.println("safeString1: " + safeString1);  
  
        String safeString2 = safeGetString(string2, "預設值");  
        System.out.println("safeString2: " + safeString2);  
  
        String safeString3 = safeGetString(string3, "預設值");  
        System.out.println("safeString3: " + safeString3);  
    }  
  
    /**  
     * 檢查字串是否為null或空  
     *  
     * @param input 待檢查的字串  
     */  
    public static void checkString(String input) {  
        if (input == null || input.isEmpty()) {  
            System.out.println("字串是null或空。");  
        } else {  
            System.out.println("字串不是null也不是空。其值為: " + input);  
        }  
    }  
  
    /**  
     * 安全地獲取字串或返回預設值  
     *  
     * @param input         待檢查的字串  
     * @param defaultValue  預設值  
     * @return 輸入字串(如果非null且非空),否則返回預設值  
     */  
    public static String safeGetString(String input, String defaultValue) {  
        return (input == null || input.isEmpty()) ? defaultValue : input;  
    }  
}

在這個程式碼中,main方法分別測試了三種情況:null字串、空字串和非空非null字串。對於每種情況,都呼叫了checkString方法來檢查結果。此外,還展示瞭如何使用safeGetString方法來安全地獲取字串或返回預設值。

相關文章