所以我正在使用Java编写程序,每当我运行它时,我都会收到错误“线程中的异常”主“java.lang.NullPointerException”。当我仔细观察它时,它似乎是由参考变量数组引起的。以下是导致问题的代码:
public class agendafunctions {
static String input = "true";
agendaitem item[] = new agendaitem[5];
public agendafunctions() {
item[0].name = "one";
item[1].name = "two";
item[2].name = "three";
item[3].name = "four";
item[4].name = "five";
}
name是类Agendaitem中的变量。从我在其他地方读到的,错误是由程序试图使用null值的变量引起的。但是,当我添加一个值时,它表示它无法从String或类型议程项目中转换。有人可以帮忙吗?
答案 0 :(得分:8)
您需要先实例化这些对象。声明一个对象数组只会为您提供一个空数组。尝试在这些空值上设置属性将为您提供NullPointerException。
在设置任何名称之前,您需要运行:
for (int i = 0; i < item.length; i++)
item[i] = new agendaitem();
此外,您应该将类名更改为AgendaItem以观察正确的Java样式。
答案 1 :(得分:0)
在使用它们之前尝试添加它:
for(int i = 0; i< item.length; i++) {
item[i] = new agendaitem();
}
创建对象数组时,其所有值都为null(基元是默认的原始值)。您必须在使用之前手动(或通过循环)初始化每个索引。