ホームページ >Java >&#&チュートリアル >カスタム オブジェクトの配列を作成するときに NullPointerException が発生するのはなぜですか?

カスタム オブジェクトの配列を作成するときに NullPointerException が発生するのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-25 07:35:31506ブラウズ

Why Do I Get a NullPointerException When Creating an Array of Custom Objects?

カスタム オブジェクトの配列をインスタンス化するときに NullPointerException が発生する

オブジェクトの配列を作成しようとすると、作成しないと NullPointerException が発生することがあります。配列の個々の要素を適切に初期化してください。

検討してください。次のコード:

public class ResultList {
    public String name;
    public Object value;
}

public class Test {
    public static void main(String[] args) {
        ResultList[] boll = new ResultList[5];
        boll[0].name = "iiii"; // NullPointerException here
    }
}

この例では、ResultList オブジェクトの配列を作成しますが、配列要素に割り当てる実際のオブジェクトはまだ作成していません。その結果、boll 配列のすべての要素は最初は null であり、boll[0].name にアクセスしようとすると NullPointerException がスローされます。

この例外を修正するには、プロパティにアクセスする前に配列要素を初期化する必要があります。 。これを行うには、次のように new キーワードを使用して ResultList クラスの新しいインスタンスを作成し、それを配列要素に割り当てます。

boll[0] = new ResultList();

この行を追加すると、名前にアクセスできるようになります。 NullPointerException が発生することなく boll[0] のプロパティを値に設定できます。

以上がカスタム オブジェクトの配列を作成するときに NullPointerException が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。