如果我有一个简单的列表< Point2D>声明。
示例:
List<Point2D> listOfPoints;
/* What I tried */
Point2D point1;
listOfPoints.add(point1);
但是,如何初始化point1
以便我可以设置一个让我们说(3,2)
的坐标?
答案 0 :(得分:1)
您必须创建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.Float
或Point2D.Double
个对象,则可以通过直接指定x
和y
字段或通过调用来明确设置坐标setLocation()
并传递坐标。
答案 1 :(得分:1)
你可以尝试:
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是抽象的。