我正在创建一个游戏,它需要无限数量的矩形。 例如,假设我将变量命名为 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/