答案 0 :(得分:2)
此变量声明位于方法范围
中ArrayList <Prize> prizeArrayList = new ArrayList <Prize>();
并且您正尝试使用
添加元素this.prizeArrayList.add(newPrize);
所以我确定已经定义了一个类级变量“prizeArrayList”,它尚未初始化,并且您正在尝试添加它并获得NPE。
你必须使用
prizeArrayList.add(newPrize);
答案 1 :(得分:1)
goodsArrayList.setGoodName("Pants");
goodsArrayList.add(newItem);
错误,因为您需要致电setGoodName()
至newItem
试试这个:
newItem.setGoodName("Pants");
goodsArrayList.add(newItem);
答案 2 :(得分:1)
如果我正确阅读你的代码。 您正在void函数中填充数组列表。 在本地函数内部创建数组列表。 如果在函数endas之后没有返回该数组列表,则删除该数组列表。
有条件的建议,使用构造函数通过默认构造函数创建类是一个坏习惯,然后通过方法将其属性设置为某个值。