【发布时间】:2017-03-19 19:35:35
【问题描述】:
在 Python 中我有一个代码:
segments = [(0, cX, 0, cY), (cX, w, 0, cY), (cX, w, cY, h), (0, cX, cY, h)]
我怎样才能用 Java 来做这个?
【问题讨论】:
-
在 Java 中,您可以使用自定义对象(这是首选方式)或集合/数组(如果所有元素都属于同一类型)
在 Python 中我有一个代码:
segments = [(0, cX, 0, cY), (cX, w, 0, cY), (cX, w, cY, h), (0, cX, cY, h)]
我怎样才能用 Java 来做这个?
【问题讨论】:
Java 默认没有元组,但你可以使用http://www.javatuples.org,我相信你也可以找到其他实现。
如果要使其成为二维数组,假设所有值都是 int,这是正确的语法
int[][] segments = new int[][] { { 0, 1, 0, 1 }, { 1, 1, 0, 1 } };
【讨论】:
另一种解决方案(比 Python 中的详细得多)是编写一个名为 Segment 的新类,其中 x1、y1、x2、y2 作为字段,并带有相应的 getter 和 setter。
您还可以定义 2 个类:Segment 和 Point。 Segment 将有 2 个字段:point1 和 point2,Point 将有 x 和 y 作为字段。
segments 将是 Segments 的集合(例如 Set 或 List)。
【讨论】: