2013-11-09 3 views
1

Car 유형의 개체를 자동차 배열 에 추가하려고합니다. 차량에 배열하려는 특정 인덱스가 없습니다. , 나는 이미 거기에 차 객체가없는 첫 번째 비어있는 빈 색인에 차를 추가하고 싶다. 여기에 내 코드 수 있습니다 :특정 인덱스에서 배열이 NULL인지 확인 NullPointerException

protected static final int MaxCars = 5; 
protected Car[] cars = new Car[MaxCars]; 

public void addCar(Car c) 
{ 
    for(int i = 0; i < MaxCars; i++) 
    { 
     if (cars[i] == null) 
     { 
      cars[i] = c; 
      break; 
     } 
    } 
    incrementNumInTeam(); 
} 

만약 내가 이것을 극복 할 수있는 방법은 A NullPointerException .. 무엇입니까 루프 안쪽 문?

+5

변수'cars'는 if 블록이 호출 될 때 null 일 가능성이 높습니다. 오류가 있지만 코드의 다른 부분에 오류가 있습니다. 당신은 자동차 변수를 음영하지 않는다고 확신합니까? 초기화되는 변수가 읽혀지는 변수와 동일합니까? –

+1

스택 추적을 게시 할 수 있습니까? – Math

+1

호버 크래프트가 답변을 드릴 수 있습니다. 당신이 말한 것은 내가 호출 된 생성자에서 초기화를 놓쳤다는 것을 깨닫게했습니다. :) – Ciwan

답변

3

가변 차는 if 블록이 호출 될 때 null 일 가능성이 큽니다. 오류가 있지만 코드의 다른 부분에 오류가 있습니다. 자동차 변수를 섀도 잉하지 않고 초기화되는 변수가 읽은 변수와 동일한 지 확인하십시오.

관련 문제