배열의 필드를 삭제하려고합니다. 배열에 Person
(Person
의 이름, 성, 생년월일 및 ID가 포함 된) 유형의 개체가 포함되어 있습니다.배열 필드 삭제 (배열에 객체 포함)
제 의도는 각 배열 필드를 찾고 입력 ID를 모든 배열 필드와 비교하는 것입니다. 올바른 것을 찾으면 null
으로 설정합니다.
는하지만 얻을 :
Exception in thread "main" java.lang.NullPointerException
그리고 난 이유를 모르겠어.
public static void removePerson(Person[] container) {
TextIO.putln("Enter ID of person to be removed");
int index = TextIO.getInt();
for (int i = 0 ; i < container.length ; i ++) {
if (container[i].id == index)
container[i] = null;
}
}
에 대체 행이 이미 "제거"한
(표시된 널) 당신이 NullPointerException이 얻을 수있는 이전 컨테이너 때문이다 모든 가능성 (likelihood),'container' 요소 중 하나는'null'입니다. '컨테이너'가 설정되어 있지 않으므로 사용자가 지정한 코드 만 사용할 수는 없습니다. [SSCCE (단장, 자체 포함, 수정 (편집 가능), 예)] (http://sscce.org)를 보내주십시오. – Dukeling
모든 스택 추적을 인쇄하면 그 이유를 알 수 있습니다. 'if (container [i] .id == index)'에서'if (container [i]! = null && container '로 변경해야합니다. –