Mon code lève une exception NullPointerException, même si l'objet semble exister correctement.
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);
Pourquoi cela arrive-t-il?
en fonction des parties du code que vous avez fournies, il semble que vous n'ayez pas initialisé myPolygon
private ArrayList<Point2D.Double> myPolygon = new ArrayList<Point2D.Double>();
Assurez-vous d'initialiser la liste:
private List<Point2D.Double> myPolygon = new ArrayList<Point2D.Double>();
Notez également qu'il est préférable de définir myPolygon comme une liste (interface) et non comme ArrayList (implémentation).