2012-05-08 12 views
1

私は18個のオブジェクトを持つ配列を持っており、その中に25個のオブジェクトがあるように配列が割り当てられています(残りの7個のオブジェクトは将来の使用に備えてnullです)。私はヌル以外のオブジェクトをすべて出力するプログラムを書いていますが、私はNullPointerExceptionに入っています。どうやって回避するのか分かりません。配列内のヌルオブジェクトの処理

私はこれを試してみてください、Exception in thread "main" java.lang.NullPointerExceptionとプログラムがクラッシュ:

 for(int x = 0; x < inArray.length; x++) 
     { 
      if(inArray[x].getFirstName() != null)//Here we make sure a specific value is not null 
      { 
       writer.write(inArray[x].toString()); 
       writer.newLine(); 
      } 
     } 

そして、私はこれをしようとすると、プログラムが実行されますが、まだヌルを出力します。

 for(int x = 0; x < inArray.length; x++) 
     { 
      if(inArray[x] != null)//Here we make sure the whole object is not null 
      { 
       writer.write(inArray[x].toString()); 
       writer.newLine(); 
      } 
     } 

誰もが私を指すことができます配列内のnullオブジェクトを処理する正しい方向は?すべての助けに感謝します!

+2

私は2番目のバージョンは動作しないことに驚いています。まだヌルを印刷していますか? –

+1

ルイは正しいと思います。 2番目のバージョンのコードに問題はありません。 –

+0

"まだヌルを印刷します"、本当ですか?あなたのクラスで 'toString()'メソッドをオーバーライドしましたか? –

答えて

9

あなたのチェックは次のようになります。

if(inArray[x] != null && inArray[x].getFirstName() != null) 
+0

ありがとうございました@ Habib.OSU、私はこれを受け入れることができます。シンプルなので、なぜ私はそれを試していないか分からない! –

+0

ようこそ@AndrewDeForest – Habib