多次制作相同的东西但使用不同的名字

Make the same thing multiple times but with another name

我想多次使用相同的 thing/object,但都使用不同的名称。

像这样: 我想制作 6 个多边形,但每个多边形都有不同的名称:

    Polygon p1 = new Polygon();
    Polygon p2 = new Polygon();
    Polygon p3 = new Polygon();
    Polygon p4 = new Polygon();
    Polygon p5 = new Polygon();
    Polygon p6 = new Polygon();

有没有办法用 for 循环或其他方法来做到这一点?

谢谢

请查看 Arrays 上的文档。

在示例代码中,您可以将名称 anArray 更改为 myPolygons。您需要将 int 更改为 Polygon。但思路是一样的。您可以通过调用 myPolygons[6] 来引用 p6。 (或者可能是 myPolygons[5],因为 Java 是零偏移量,这意味着数组中的第一个是 myPolygons[0]。是的,for 循环也会有所帮助。

您不能在 Java 中动态创建变量名。它们需要在编译时在源代码中可用。正如其他人所说,在 Java 中执行此操作的通常方法是创建数组或列表。例如:

List<Polygon> polygons = new ArrayList<>();
for (int ctr = 0; ctr < 100; ctr++) {
    polygons.add(new Polygon());
}

您不是通过名称引用对象,而是通过其 索引

Polygon poly = polygons.get(22);

另一种思考方式。如果您的对象确实有 100 个单独的变量名称会怎么样。那么如果你想 运行 对你所有的多边形进行一些处理呢?你要吗..

doSomething(p1);
doSomething(p2);
// ... lots more lines like this...
doSomething(p99);

或者简单地说:

for (Polygon poly : polygons) {
    doSomething(poly);
}

像这样应该没问题

   List<Polygon> polygonObjects = new ArrayList<Polygon>();

    for(int i = 0; i < 6; i++){
        polygonObjects.add(new Polygon());
    }