waiwai933
waiwai933

Reputation: 14559

Java NullPointerException when adding to ArrayList?

My code is throwing a NullPointerException, even though the object seems to properly exist.

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);

Why is this happening?

Upvotes: 24

Views: 96309

Answers (3)

cherouvim
cherouvim

Reputation: 31903

Make sure you initialize the List:

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

Also note that it's best to define myPolygon as a List (interface) and not ArrayList (implementation).

Upvotes: 12

Cristian
Cristian

Reputation: 200080

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

Upvotes: 20

Brad Mace
Brad Mace

Reputation: 27886

based on the parts of the code you provided, it looks like you haven't initialized myPolygon

Upvotes: 55

Related Questions