Java의 이상한 nullpointerexception
-
10-07-2019 - |
문제
Java Me를위한 앱을 작성하고 있으며 일부 데이터 (전화 번호부)를 보유하기위한 수업이 필요합니다. 이 앱을 시작하려고 할 때는 항상 NullPointerException을 받고 있습니다. 나는 클래스의 생성자를 호출하고 있으며 10 가지 요소에 대한 메모리를 할당하므로 무효가되어서는 안됩니다. 내가 뭘 잘못하고 있죠?
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
public class TinyMIDlet extends MIDlet implements CommandListener {
private PhoneBook phoneBook = new PhoneBook();
public void initPhoneBook() {
phoneBook.records[0].Name = new String("abc");
}
protected void startApp() {
initPhoneBook();
}
public class Record {
public String Name;
public String Number;
public String email;
public String Group;
}
public class PhoneBook {
public Record[] records;
PhoneBook() {
records = new Record[10];
}
}
}
해결책
레코드의 배열은 Null이 아니지만 각각의 개별 요소는입니다. 각 요소를 인스턴스화해야합니다. 지금은 10 개의 널 항목이있는 배열 일뿐입니다.
다른 팁
phoneBook.records[0].Name = new String("abc");
해야한다
phoneBook.records[0] = new Record();
phoneBook.records[0].Name= new String("abc");// or = "abc"
나는 아직 톰의 상세한 답변을 편집 할만 큼 아직 평판이 좋지는 않지만 정확합니다.
phoneBook.records[0] = new something();
해야한다
phoneBook.records[0] = new Record();
제휴하지 않습니다 StackOverflow