0

所以我正在用Java编写一个程序,每当我运行它时,我都会收到一个错误“线程“main”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 是类议程项目中的一个变量。从我在别处读到的内容来看,该错误是由程序试图使用具有空值的变量引起的。但是当我添加一个值时,它说它不能从字符串或任何类型的议程项目转换。任何人都可以帮忙吗?

4

2 回答 2

8

您需要先实例化这些对象。声明一个对象数组只会给你一个空数组。尝试在这些 null 上设置属性会给您一个 NullPointerException。

在设置任何名称之前,您需要运行:

for (int i = 0; i < item.length; i++)
    item[i] = new agendaitem();

此外,您应该将类​​名更改为 AgendaItem 以观察正确的 Java 样式。

于 2013-09-01T01:31:22.973 回答
0

在使用它们之前尝试添加:

for(int i = 0; i< item.length; i++) {
    item[i] = new agendaitem();
}

当你创建一个对象数组时,它的所有值都是空的(原语是默认的原语值)。在使用它之前,您必须手动(或通过循环)初始化每个索引。

于 2013-09-01T01:32:52.793 回答