在 List<> 中初始化一个 Point2D

Initialize a Point2D in List<>

如果我声明了一个简单的 List

示例:

List<Point2D> listOfPoints;

/* What I tried */
Point2D point1;
listOfPoints.add(point1);

但是,如何初始化 point1 以便我可以得到坐标 (3,2)

您必须创建 Point2D 的实例。现在,您正在将 null 添加到 listOfPoints。另外,listOfPoints 未初始化,因此您的代码将生成 NullPointerException。试试这个:

List<Point2D> listOfPoints = new ArrayList<>(); // or another List implementation class

Point2D point1 = new Point2D.Float(3, 2); // or perhaps Point2D.Double
listOfPoints.add(point1);

此外,一旦您拥有 Point2D.FloatPoint2D.Double 对象,您就可以明确设置坐标,方法是直接分配给 xy 字段或通过调用 setLocation() 并传递坐标。

你可以试试:

Point2D point1 = new Point2D.Double(3, 2);

Point2D point1 = new Point2D.Float(3, 2);

您还需要初始化您的列表,例如

List<Point2D> listOfPoints = new ArrayList<>();
listOfPoints.add(point1);

简单地做 new Point2D(3, 2) 是行不通的,因为 Point2D 是抽象的。