nullPointerException غريب في جاوة
-
10-07-2019 - |
سؤال
وأنا أكتب التطبيق لجافا 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];
}
}
}
المحلول
وومجموعة من السجلات ليست فارغة، ولكن كل عنصر على حدة من هو. تحتاج إلى مثيل كل عنصر كذلك، الآن انها مجرد مجموعة مع 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