2012-05-08 4 views
1

배열에 18 개의 객체가 있고 배열에 25 개의 객체가 할당됩니다. 나머지 7 개의 객체는 나중에 사용할 수 있도록 null입니다. 모든 null이 아닌 객체를 인쇄하는 프로그램을 작성하고 있지만, NullPointerException으로 실행 중이며이를 해결하는 방법을 알아낼 수 없습니다.배열의 null 객체 처리

 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(); 
      } 
     } 

을 그리고 나는 이것을하려고하면 프로그램이 실행됩니다 만, 여전히 널 (null) 인쇄 : :이 때

, 프로그램은 Exception in thread "main" java.lang.NullPointerException와 충돌

 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

내가 두 번째 버전이 작동하지 않습니다 당황 스럽네요. 널 (nulls)을 여전히 인쇄하고 있습니까? –

+1

루이가 옳다고 생각합니다. 두 번째 코드 버전에는 아무런 문제가 없습니다. –

+0

"여전히 널을 인쇄합니다", 정말입니까? 클래스에서 toString() 메서드를 재정의 했습니까? –

답변

9

수표가 있어야한다 :

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

@ Habib.OSU, 고맙습니다. 할 수있을 때 이것을 받아 들일 것입니다. 그래서 간단하지, 내가 왜 그것을 시도하지 않은 확실하지! –

+0

안녕하세요. @ AndrewDeForest – Habib