3 回答

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個贊
null數(shù)組和空數(shù)組之間有一個關(guān)鍵的區(qū)別。這是對的測試null。
int arr[] = null;
if (arr == null) {
System.out.println("array is null");
}
這里的“空”沒有官方含義。我選擇將空定義為具有0個元素:
arr = new int[0];
if (arr.length == 0) {
System.out.println("array is empty");
}
如果所有元素都是,則“空”的另一種定義是null:
Object arr[] = new Object[10];
boolean empty = true;
for (int i=0; i<arr.length; i++) {
if (arr[i] != null) {
empty = false;
break;
}
}
要么
Object arr[] = new Object[10];
boolean empty = true;
for (Object ob : arr) {
if (ob != null) {
empty = false;
break;
}
}

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個贊
我來自.net背景。但是,java / c?;鞠嗤?。
如果您實(shí)例化非基本類型(在您的情況下為數(shù)組),則該類型不會為null。
例如,int[] numbers = new int[3];
在這種情況下,將分配空間且每個元素的默認(rèn)值為0。
這將是null,當(dāng)你做不new起來。
例如
int[] numbers = null; // changed as per @Joachim's suggestion.
if (numbers == null)
{
System.out.println("yes, it is null. Please new it up");
}
添加回答
舉報