有如下兩個變量定義,這兩種定義有什么區別呢?
1. int[] zero = new int[0];
2. int[] nil = null;
zero是一個長度為0的數組,我們稱之為“空數組”,空數組也是一個對象,只是包含元素個數為0。nil是一個數組類型的空引用。
假設一個方法返回一個數組,如果它返回null,則調用方法必須先判斷是否返回null,才能對放回數組進一步處理,而如果返回空數組,則無須null引用檢查。鑒於此,返回數組的方法在沒有結果時我們通常返回空數組,而不是null,這樣做對於函數調用者的處理比較方便。