可空

可空性 在 Java

1 個練習

關於 可空性

在 Java 中,null字面值用來表示沒有值。

Java 中的基本資料型態都有預設值,因此永遠不會是null。 依照慣例,它們以小寫字母開頭,例如int。

參考型別包含物件的記憶體位址,因此可以有null值。 它們通常以大寫字母開頭,例如String。

試著把null值指定給基本型別的變數,會造成編譯時期錯誤,因為這種變數永遠帶有被指定型別的預設值。

// Throws compile time error stating the required type is int, but null was provided
int number = null;

把null值指定給參考變數不會造成編譯時期錯誤,因為參考變數可以為null。

//No error will occur as the String variable str is nullable
String str = null;

存取值為null的參考變數雖然可以順利編譯,但會在執行時期拋出NullPointerException。

int[] arr = null;

// Throws NullPointerException at runtime
arr.length;

當你試著存取一個值為 null、卻需要物件的參考變數時,就會拋出NullPointerException。

為了安全地處理可為null的值,在操作它們之前應該先檢查它們是否為null,這可以透過==或!=這類相等運算子來完成:

int[] arr = null;

if(arr != null) {
    System.out.println(arr.length);
} else {
    //Perform an alternate action when arr is null
}
透過 GitHub 編輯 連結會在新視窗或分頁中開啟

學習 可空性