JavaでNullPointerExceptionを回避するために配列の要素がNULLであるかどうかを確認する方法
オブジェクトの部分的な nfilled 配列を持っていて、それを反復処理するときに、選択したオブジェクトが null
であるかどうかをチェックしてから他の処理を行おうとしました。しかし、null
かどうかをチェックする行為でさえ、NullPointerException
を通過するようです。また、array.length
はすべてのnull
要素を含んでしまいます。配列の null
要素のチェックはどのように行うのでしょうか?例えば、以下のコードでは、NPEをスローします。
Object[][] someArray = new Object[5][];
for (int i=0; i<=someArray.length-1; i++) {
if (someArray[i]!=null) { //do something
}
}
19
9
あなたが言った以上のことが起こっているのです。 あなたの例から、次のような拡張テストを実行しました。
ありません。
以下を参照してください。 投稿したプログラムは想定どおりに実行されます。
特定のnull要素を見つける場合は、上記のようにループを使用する必要があります。 .
例のコードはNPEをスローしません。 (i ++の後ろに「;」もあってはなりません)。
与えられたコードは私のために動作します。 配列の2番目の次元を初期化していないので、someArray[i]は常にnullであることに注意してください。
まず、そのコードはコンパイルできません。
i++の後の余分なセミコロンを削除したら、私の場合、コンパイルしてうまく実行できるようになりました。
コードがコンパイルされているかどうかと戦う6e 5の配列を作成して2つの値を追加し、それらを印刷すると、2つの値が表示され、他の値はnullになります。 問題は、サイズは5ですが、配列には2つのオブジェクトがあります。 . 配列に存在するオブジェクトの数を見つける方法。
1行のコードで実行できます(配列宣言なし)。