【发布时间】:2015-07-16 22:35:32
【问题描述】:
这应该是相当简单的事情,但我无法弄清楚我的错误。首先,我正在尝试编写一个程序,该程序将接受用户输入并将输入作为对象添加到名为aList 的列表中。我有两门课,一类叫Group,一类叫ListObject。
这是Group类代码
public class Group
{
List<ListObject> aList = new ArrayList();
public Group()
{
}
public void addObject(Object aName)
{
aList.add(aName);
}
}
这是我的 ListObject 类
public class ListObject
{
private String name;
public int value;
/**
* Constructor
*/
public ListObject(String aName)
{
super();
this.name = firstName;
this.value = 10;
}
}
我需要 Group 类中的方法来获取用户输入,创建一个具有该名称的对象,然后将其添加到列表 aList 中,并将该列表中的所有对象分配为值 -1 开始。出于某种原因,我返回了 NullPopinterException。希望你能指出我错过了什么。请注意,当我只是添加字符串而不是 ListObject 对象的实例时,我确实有这个工作。
【问题讨论】:
-
您的
Group类甚至不应该编译...您没有aList字段,只有构造函数中的局部变量。如果那是一个字段,那么您将无法在其上调用add(Object),因为它是List<ListObject>,而不是List<Object>...请发布一个简短但完整的显示实际失败的程序 - 阅读tinyurl.com/so-npe -
抱歉,我将代码转移到这里可能是一个错误,因为它的编写方式略有不同。我会附加这些错误
-
不,不要只是“附加这些错误” - 将问题中的代码编辑为一个简短但完整的程序,实际演示问题。但是,是的,您也应该包含堆栈跟踪...
-
除了在构造函数中,我认为你不能像这样将
ArrayList分配给List。 -
我已经重写了它,它至少在我的端编译
标签: java list arraylist nullpointerexception