gpt4 book ai didi

java - 来自不同类的对象的 ArrayList - 空指针错误

转载 作者:行者123 更新时间:2023-11-29 06:32:20 25 4
gpt4 key购买 nike

public void populatePrizeArraylist()
{
ArrayList <Prize> prizeArrayList = new ArrayList <Prize>();
// The name of the file which we will read from
File filename = new File("prizes.txt");

try
{
// Prepare to read from the file, using a Scanner object
FileReader inputFile = new FileReader(filename);

Scanner parser = new Scanner(inputFile);
// Read each line until end of file is reached
while (parser.hasNextLine())
{
// Read an entire line, which contains all the details for 1 prize
String readFile = parser.nextLine();
String delimiter = ",";
String[] fileList = readFile.trim().split(delimiter);

Prize newPrize = new Prize();

newPrize.setPrizeName(fileList[0]);
newPrize.setPrizeWorth(Integer.parseInt(fileList[1]));
newPrize.setPrizeCost(Integer.parseInt(fileList[2]));

this.prizeArrayList.add(newPrize);

}
}
}

我在这里做错了什么?我创建了一个新的 ArrayList,然后创建了一个新对象,并为该对象的名称变量设置了一些值,但是当我尝试将该对象添加到我的 arraylist 时,出现空点异常错误

最佳答案

这个变量声明在方法范围内

ArrayList <Prize> prizeArrayList = new ArrayList <Prize>();

并且您正在尝试使用

添加元素
this.prizeArrayList.add(newPrize);

所以我确定定义了一个类级变量“prizeArrayList”,它尚未初始化,您正在尝试添加到它并获得 NPE。

你必须使用

prizeArrayList.add(newPrize);

关于java - 来自不同类的对象的 ArrayList - 空指针错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30408254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com