Java中的奇怪nullPointerException

vas*_*sin 0 nullpointerexception java-me

我正在为Java ME编写一个应用程序,我需要一个用于保存一些数据的类(PhoneBook).当我试图启动这个应用程序时,我总是得到一个nullPointerException.我正在调用类的构造函数,它为10个元素分配内存,所以它不应该为null.我究竟做错了什么?

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];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*oth 13

记录数组不为null,但它的每个元素都是.您还需要实例化每个元素,现在它只是一个包含10个空条目的数组.