Saya memiliki array objek yang terisi sebagian, dan ketika saya mengiterasi objek-objek tersebut, saya mencoba memeriksa apakah objek yang dipilih adalah null
sebelum saya melakukan hal lain dengannya. Namun, bahkan tindakan memeriksa apakah itu null
tampaknya melalui NullPointerException
. array.length
akan menyertakan semua elemen null
juga. Bagaimana cara Anda memeriksa elemen null
dalam sebuah array? Sebagai contoh dalam kode berikut akan melempar NPE untuk saya.
Object[][] someArray = new Object[5][];
for (int i=0; i<=someArray.length-1; i++) {
if (someArray[i]!=null) { //do something
}
}
Anda memiliki lebih banyak hal yang terjadi daripada yang Anda katakan. Saya menjalankan tes yang diperluas berikut ini dari contoh Anda:
public class test {
public static void main(String[] args) {
Object[][] someArray = new Object[5][];
someArray[0] = new Object[10];
someArray[1] = null;
someArray[2] = new Object[1];
someArray[3] = null;
someArray[4] = new Object[5];
for (int i=0; i<=someArray.length-1; i++) {
if (someArray[i] != null) {
System.out.println("not null");
} else {
System.out.println("null");
}
}
}
}
dan mendapatkan keluaran yang diharapkan:
$ /cygdrive/c/Program\ Files/Java/jdk1.6.0_03/bin/java -cp . test
not null
null
not null
null
not null
Apakah Anda mungkin mencoba memeriksa panjang someArray[index]?