final 인 클래스를 작성 중입니다. 그것은 미디어 라이브러리 (media library)가되어 새로운 미디어 아이템을 가지고 배열에 저장하고 메시지가 나타나면 그것을 표시 할 예정인 다른 미디어들 (DVD, 게임 등)에 관한 정보를 저장합니다. 그것들 모두를 수행하지만 표시 할 때 그것이 의도 한대로 실행 중이지만 getter에 NullPointerException이 있습니다.getter에서 NullPointerException이 발생했습니다.
public class MediaItem {
private String title;
private String format;
private boolean onLoan;
private String loanedTo;
private String dateLoaned;
public MediaItem(){
title = null;
format = null;
onLoan = false;
loanedTo = null;
dateLoaned = null;
}
public MediaItem(String title, String format){
this.title = title;
this.format = format;
onLoan = false;
}
위에서 우리는 그 다음
전화를 들었다로 "MediaItems"를 만드는 클래스의 필드와 생성자 있으며, 다른 클래스의 부분, 즉, 라이브러리 자체입니다. 미디어 항목을 저장하기위한 하나의 배열과 목록을 인쇄하기위한 배열. 또한 add 메서드와 배열에 추가하는 방법.private MediaItem[] items = new MediaItem[100];
private String[] listOfItems = new String[100];
private int numberOfItems = 0;
public void addNewItem(String title, String format){
MediaItem item = new MediaItem(title, format);
items[numberOfItems] = item;
numberOfItems++;
}
그리고 여기이가 아닌
public void listAllItems(){
for (int i = 0; i < items.length; i++){
System.out.println(items[i].getTitle());
}
}
와 나는 문제가 발생하고있는 부분이 무엇인지는 어떻게해야하지만, 내 현재의 문제는이 항목의 전체 목록을 인쇄 않는다는 것입니다 만 또한 NullPointerException을 제공하고 이유를 모른다. 호출되는 게터는 기본 일식이 내가 거친 그래서 너무 부드러운 바랍니다 새로 온 자바입니다 게터에게
public String getTitle() {
return title;
}
을 생성합니다. 나는 그것이 모든 관련 부분이므로 모든 도움을 주시면 감사하겠습니다!
'items [i]'는 특정 값 'i'에 대해 확실히 null입니다. 'addNewItem'을 100 회 호출하지 않으면,이 코드 라인을 가진 NPE가 항상있을 것입니다. –