将图像添加到 ArrayList<BufferedImage> 时出现空指针异常

Nullpointerexception when adding images into ArrayList<BufferedImage>

我正在尝试将图像加载到 BufferedImage 变量中并将其存储在 ArrayList (ArrayList<BufferedImage> imgList) 中。

public void loadImage(){
    try {
        String fileLoc = getClass().getResource("tile_unsearched.jpg").getPath();

        fileLoc = URLDecoder.decode(fileLoc,"UTF-8");

        File aFile = new File(fileLoc);

        img = ImageIO.read(aFile);

        imgList.add(img);
    } catch (IOException e) {
        System.out.println(e);
    } 
} 

但是我一直收到这个错误:

Exception in thread "main" java.lang.NullPointerException
   at MainGameGUI.loadImage(MainGameGUI.java:96)
   at MainGameGUI.<init>(MainGameGUI.java:56)
   at MainDriver.main(MainDriver.java:22)

路径是正确的,因为当我打印它时,它是准确的 /C:/Users/HenBradley/workspace/HH2/bin/sector_a.jpg。所以我无法想象我的对象会是空的,考虑到路径是正确的,我不知道为什么会这样。

关于我哪里出错的任何线索?

这里还有 imgimgList 的声明:

private ArrayList<BufferedImage> imgList;
private BufferedImage img = null;

imgListnull。变化

private ArrayList<BufferedImage> imgList;

类似于

private List<BufferedImage> imgList = new ArrayList<>();