web-dev-qa-db-ja.com

list.addのNullPointerException

modelData.add(i, es)メソッドでNullPointerExceptionを取得しています。 esnullではないことをデバッグから知っています。私は本当に混乱しています、ありがとう。

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

NullPointerExceptionを取得しないようにするには、リストを初期化する必要があります。

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

試す

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

一見すると、modelDataがインスタンス化されていないようです。私はmodelDataを次のようにインスタンス化します:

_protected List<EventSeat> modelData = new ArrayList<EventSeat>();
_

FYI .. Java 7では、使用できる新しい構文があります-someObject?.doSomething();

6
Piyush Mattoo