web-dev-qa-db-fra.com

NullPointerException sur list.add

J'obtiens un NullPointerException à la méthode modelData.add(i, es). Je sais par débogage que es n'est pas null. Je suis vraiment confus, merci.

public class EventTableModel extends AbstractTableModel {

    //private int rowCount = 0;
    protected List<EventSeat> modelData;
    private static final int COLUMN_COUNT = 3;
    private Event e;
    Event j = GUIpos.m;
    int i = 1;

public EventTableModel(Event e) {
    this.e = e;
    try {
        System.out.println(modelData);
        for (EventSeat es : e.getEventSeats()) {
            modelData.add(i, es);
            i++;
        }
    } catch (DataException ex) {
        Logger.getLogger(EventTableModel.class.getName()).log(Level.SEVERE, null, ex);
    }

}
22
novicePrgrmr

Vous devez initialiser une liste pour ne pas obtenir le NullPointerException.

protected List<EventSeat> modelData = new ArrayList<EventSeat>();
61
Erik

Essayer

protected List<EventSeat> modelData = new ArrayList<EventSeat>(); 
9
Sheridan

À première vue, il semble que modelData n'ait pas été instancié. Je voudrais instancier le modelData comme:

protected List<EventSeat> modelData = new ArrayList<EventSeat>();

FYI .. Dans Java 7, il y aura une nouvelle syntaxe que vous pouvez utiliser - someObject?.doSomething();

6
Piyush Mattoo