Java NullPointerException при добавлении в ArrayList? - PullRequest
21 голосов
/ 16 октября 2010

Мой код выдает исключение NullPointerException, хотя объект, кажется, правильно существует.

public class IrregularPolygon {

    private ArrayList<Point2D.Double> myPolygon;

    public void add(Point2D.Double aPoint) {
        System.out.println(aPoint); // Outputs Point2D.Double[20.0, 10.0]
        myPolygon.add(aPoint); // NullPointerException gets thrown here
    }
}

// Everything below this line is called by main()

    IrregularPolygon poly = new IrregularPolygon();
    Point2D.Double a = new Point2D.Double(20,10);
    poly.add(a);

Почему это происходит?

Ответы [ 3 ]

50 голосов
/ 16 октября 2010

на основе предоставленных вами частей кода, похоже, вы не инициализировали myPolygon

18 голосов
/ 16 октября 2010
private ArrayList<Point2D.Double> myPolygon = new ArrayList<Point2D.Double>();
10 голосов
/ 16 октября 2010

Убедитесь, что вы инициализировали список:

private List<Point2D.Double> myPolygon = new ArrayList<Point2D.Double>();

Также обратите внимание, что лучше всего определять myPolygon как список (интерфейс), а не ArrayList (реализация).

...