Java - NullPointerException 从文本文件扫描到 LinkedList

Java - NullPointerException scanning into LinkedList from Text File

我有以下 class BallotPaper,它在 LinkedList 中记录了一组选票:

import java.util.LinkedList;

public class BallotPaper {

    private LinkedList<String> votes;

    public BallotPaper() {

    }

    public void addVote(String candidateName) {
        votes.add(candidateName);
    }

    public LinkedList<String> getVotes() {
        return votes;
    }

}

我有一个包含投票列表的文本文件,如下所示:

John Jack James Fred
John Jack James Fred
Fred Jack John James
Fred Jack John James
Jack John James Fred

在我的主 class 中,我有一个 BallotPaper 对象的 ArrayList。文本文件中的每一行包含四个名称,每个名称都需要添加到单个 BallotPaper 对象,然后存储在 ArrayList 中。这是我读取文本文件的代码:

private ArrayList<BallotPaper> votes = new ArrayList<>();

public void readTextFile(String fileLocation) throws FileNotFoundException {
    FileInputStream fileIn = new FileInputStream(fileLocation);
    Scanner scanner = new Scanner(fileIn);

    while(scanner.hasNextLine()) {
        votes.add(new BallotPaper());
        for(int i=0; i<4; i++) {
            String name = scanner.next().trim();
            if(!name.equals("")) {
                votes.get(votes.size() - 1).addVote(name);
            }
        }
    }
}

所以我的目标是让 ArrayList 包含 5 个元素,每个元素都是 BallotPaper 对象,在各自的 LinkedList 中有 4 个条目。我目前收到以下错误:

Exception in thread "main" java.lang.NullPointerException
    at BallotPaper.addVote(BallotPaper.java:12)
    at Model.readTextFile(AVSModel.java:50)

您还没有初始化您的投票列表。换行

 private LinkedList<String> votes;

 private LinkedList<String> votes = new LinkedList<String>();