Ответ 1
на основе частей кода, который вы указали, похоже, что вы не инициализировали myPolygon
Мой код бросает исключение 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);
Почему это происходит?
на основе частей кода, который вы указали, похоже, что вы не инициализировали myPolygon
private ArrayList<Point2D.Double> myPolygon = new ArrayList<Point2D.Double>();
Убедитесь, что вы инициализируете Список:
private List<Point2D.Double> myPolygon = new ArrayList<Point2D.Double>();
Также обратите внимание, что лучше всего определить myPolygon как список (интерфейс), а не ArrayList (реализация).