2013-09-01 23 views
0

所以我正在研究一个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"; 
} 

名称是类agendaitem一个变量。从我在其他地方读到的内容来看,错误是由程序试图使用具有空值的变量引起的。但是,当我添加一个值时,它说它不能从字符串或任何类型的议程项目转换。谁能帮忙?

+0

请遵守Java约定,并用大写字母开始类名称。小写字母是变量和方法! –

回答

7

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

之前设置任何名字,你需要运行:

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

此外,你应该改变你的类名AgendaItem不遵守正确的Java风格。

0

尝试增加这个使用它们之前:

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

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

相关问题