CD 객체를 CD의 ArrayList의 Band 객체의 ArrayList 멤버 필드에 추가하려고합니다. band_index는 콤보 박스에서 선택 될 때 Band ArrayList의 인덱스이며, band_index가 선택된 밴드의 올바른 인덱스를 할당하는지 확인했습니다. 현재 코드의 addCD 메소드를 호출 할 때이 코드 행 band.get(band_index).addCD(cd);
에 널 포인터 예외가 발생합니다.클래스 내의 Arraylists Java
Main 클래스 :
public void addCD() {
CD cd = new CD(t, y);
band.get(band_index).addCD(cd); //NULL pointer Exception on this line
updateCDs();
}
//Method to print out all the CDs of a band
public void updateCDs() {
String list = "";
for(int i = 0; i < band.size(); i++)
{
//band_index is the index of the selected band in the combobox
if(i == band_index) {
for(int j = 0; j < band.get(i).getCDs().size(); j++) {
list += "Title: " + band.get(i).getCDs().get(j).getTitle();
list += "Year: " + band.get(i).getCDs().get(j).getYear();
}
}
}
System.out.println(list);
}
밴드 클래스 :
private ArrayList<CD> cds;
public void addCD(CD cd) {
cds.add(cd);
}
CD 클래스 :
private String title;
private int year;
public CD(String t, int y) {
title = t;
year = y;
}
public getTitle() { return title; }
public getYear() { return year; }
'band.get (band_index)'의 기능은 무엇입니까? 'private' 초기화 ArrayList cds = new ArrayList <>();' –
NINCOMPOOP
어디에서'band'를 초기화합니까? –
감사합니다. 난 그걸 깜빡 했군 – user1352609