gpt4 book ai didi

java - 我的数组列表正在向自身添加数千个对象

转载 作者:行者123 更新时间:2023-12-01 23:12:10 25 4
gpt4 key购买 nike

我对tileList.size()做了一个System.out.println,它返回一个以千为单位的整数,随着时间的推移,该值会迅速增加。我正在做一个 Java 小程序,它创建图 block 并为 ArrayList 中的每个点随机生成对象变量。

我不知道为什么会发生这种情况,但我可以定期清除数组列表,但我不应该这样做。

col = 20;
row = 10;

public void createTiles()
{
for (int i = 0; i <= col; i++)
{
for (int j = 0; j <= row; j++)
{
if (r.nextInt(100) >= slides / 2)
{
tileList.add(new Tile(i * 64, j * 64, this.getHeight(), this.getWidth(), false, 0, false));
}

if (r.nextInt(100) <= slides / 2)
{
tileList.add(new Tile(i * 64, j * 64, this.getHeight(), this.getWidth(), true, 0, false));
}

if (r.nextInt(500) <= 1)
{
tileList.add(new Tile(i * 64, j * 64, this.getHeight(), this.getWidth(), false, 0, true));
}
}
}
}

从哪里调用

public void paint(Graphics g)
{
createTiles();

generatePanel();
createSnowballs();
createFish();
penguinCollision();

drawTiles(g);

bearAI();
bearCollision();
drawSnowballs(g);
drawFish(g);
drawPenguin(g);
drawHunger(g);
drawHungerBar(g);
drawBear(g);


if (hungerAmount <= 0)
drawGameover(g);
}

最佳答案

java Applet的Paint方法中被调用无数次来为用户提供一致的UI,只需在Paint中添加System.out.println()来尝试一下,因此,请避免在 Paint 中调用这些方法。

关于java - 我的数组列表正在向自身添加数千个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21774340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com