2016-05-30 3 views
2

Я пытаюсь загрузить изображение в переменную BufferedImage и сохранить ее в ArrayList (ArrayList<BufferedImage> imgList).Nullpointerexception при добавлении изображений в ArrayList <BufferedImage>

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, который является точной. Поэтому я не могу представить, что мой объект был бы нулевым, и если бы это было так, я не знаю, почему это было бы, учитывая, что путь правильный.

Любые подсказки относительно того, куда я иду не так?

Также здесь декларация img и imgList:

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

ответ

1

imgList является null. Изменение

private ArrayList<BufferedImage> imgList; 

к чему-то вроде

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

Ах, какая глупая ошибка. Благодаря! Ты прав. – ChewySalmon

Смежные вопросы