2013-03-07 162 views
1

所以我創建了我自己的具有5個私有字段的類:每個數組都有一個預設的長度。這是我創建表的方式,每個數組都是一個列,並且它們具有預先設定的長度,因爲不是每個單元格都包含一個元素(所以不使用任何動態的)。檢查數組是否爲空元素

無論如何,我的問題是:我可以檢查特定數組的特定單元格是否包含「null」?使用.equals(空)給出了一個NullPointerException :(

回答

3

當你調用.equals(...)調用對象的方法,如果爲空,它有沒有方法因此空檢查是這樣的:。

if (myArray[position] == null) { 
    .... 

} 
+0

Derp,你是完全正確的。我在我的數組單元格中放入了字符串,並且只是在「.equals」踢。現在正常工作!謝謝您的幫助。 – V1rtua1An0ma1y 2013-03-07 20:34:22

1

不做.equals(NULL),但== NULL:

if(the_array[i] == null) { 
    //... 
} 

想一想由二維陣列建一個表範例:

TheClass my_array[][] = new TheClass[10][5]; 
0

你應該使用

if (cell[i] == null){ 


} 

,因爲你正在測試參考平等。而在cell [i]實際上爲null的情況下,null不具有equals方法。

0

混了循環和null構建

for(Integer ints : intNum) { 
    if(intNum != null) { 
     //valid 
    } 
} 
+1

小修正:它是(int!= null)那裏有一個=太多。 Prly一個錯字。 ;) – ObedMarsh 2013-03-07 20:36:57

0

我,爲什麼你做5個陣列更好奇?你有沒有聽說過多維數組?也許這就是你在這種情況下真正需要的。

像這樣的數組fx: int [] [] arrayName = new int [3] [3];

表示每行3行3列的數組。

也許你已經知道了,但是如果你只是想要一個類似於表的結構,那麼對於我來說,製作五個不同的數組似乎很奇怪。

+0

它將成爲遞歸解析樹的表格表示的一部分。我可以做一個多維數組,但不是通過遞歸維護另一個整數,而只是訪問該列的數組名稱。 – V1rtua1An0ma1y 2013-03-07 20:37:59