我将如何创建一个对象引用变量数组



所以我正在用Java编写一个程序,每当我运行它时,我都会收到一个错误"Exception in thread"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是类agendaitem中的一个变量。根据我在其他地方读到的内容,这个错误是由程序试图使用null值的变量引起的。但当我添加一个值时,它说它不能从String或其他类型转换为agendaitem。有人能帮忙吗?

您需要首先实例化这些对象。声明一个对象数组只会得到一个null数组。尝试在这些null上设置属性会产生NullPointerException。

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

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

此外,您应该将类名更改为AgentaItem,以遵守正确的Java风格。

在使用之前尝试添加以下内容:

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

创建对象的数组时,其所有值都为null(基元是默认的基元值)。在使用每个索引之前,您必须手动(或通过循环)初始化它。

最新更新