Bagaimana cara memeriksa apakah elemen array adalah null untuk menghindari NullPointerException di Java

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
    } 
}
Larutan

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
Komentar (2)

Kode yang diberikan bekerja untuk saya. Perhatikan bahwa someArray[i] selalu null karena Anda belum menginisialisasi dimensi kedua dari larik.

Komentar (0)

Pertama-tama, kode itu tidak dapat dikompilasi.

Setelah menghapus titik koma tambahan setelah i++, kode itu terkompilasi dan berjalan dengan baik untuk saya.

Komentar (1)