java - 我将如何定义无限数量的变量? * java *

标签 java variables rectangles infinite

我正在创建一个游戏,它需要无限数量的矩形。 例如,假设我将变量命名为 car:

public Rectangle car1;
public Rectangle car2;
public Rectangle car3;

等等,

有没有更简单的方法?喜欢:

public int carNumber;
public Rectange car + carNumber;//if carNumber was one, it would be called car1

此外,我还需要测试矩形是否包含其他矩形。 <-- 我知道该怎么做。

最佳答案

您不能也不应该尝试声明无限数量的任何东西——这没有意义。而是使用一个集合,例如可以包含可变数量的对象引用的 ArrayList。例如,

private List<Rectangle> carList = new ArrayList<>();

这行不通:

public Rectange car + carNumber;//if carNumber was one, it would be called car1

因为变量名不是那样工作的,所以它们不能通过连接字符串来创建。但是不用担心这个,因为 ArrayList 会处理这个。列表中的第三项很容易获得:carList.get(2)


要查看列表中的任何 Rectangle 是否包含另一个 Rectangle,请使用 for 循环并遍历集合:

for (Rectangle rect : carList) {
  if (rect.contains(testRectangle) {
     // this item contains the test Rectangle
  }
}

关于java - 我将如何定义无限数量的变量? * java *,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23038215/

相关文章:

javascript - 碰撞检测问题;对某些条件的奇怪 react

java - 将 MySQL 连接到 Spring 应用程序

javascript - 将非法 token 传递给 JavaScript 函数?

variables - 将多个 Twig 变量连接在一个括号中

javascript - 在javascript函数中获取和设置局部变量

c# - 只绘制矩形的角

c# - 使用 XNA 在游戏窗口中显示矩形

java - 如何获取标题? (java,httpclient 4.X)

java - 典型的 log4j 布局

java - scalatra 案例 t : Throwable => t. printStacktrace()