我正在按照 YouTube 上的教程制作 Java 游戏。
我在执行此操作时遇到此错误,但我不知道为什么。
The type List is not generic; it cannot be parameterized with arguments <Enemy>
这是列表:
private List<Enemy> enemies = new ArrayList<Enemy>();
我已经为 List 导入了 java.util.*;
和 java.awt.*;
,理论上可以工作。
这是我的敌人类别
import java.awt.*;
public class Enemy extends Entity {
private Rectangle hitbox;
private int movementX, movementY;
private boolean dead = false;
private Main instance;
public Enemy(Main instance, int x, int y) {
super(x, y);
this.instance = instance;
hitbox = new Rectangle(x,y,32,32);
movementX = 0;
movementY = 1;
}
private void move(){
if(instance.getStage().isCollided(hitbox)){
movementY = 0;
dead = true;
}
hitbox.x += movementX;
hitbox.y += movementY;
}
public boolean isDead() { return dead; }
public void draw(Graphics g){
move();
g.setColor(Color.RED);
g.fillRect(hitbox.x, hitbox.y, hitbox.width, hitbox.height);
}
}
最佳答案
您仅导入了 java.awt.*
,它具有不同的非泛型 List
。您必须完全限定对 java.util.List
的引用,因为 java.awt.List
已导入。
private java.util.List<Enemy> enemies = new ArrayList<Enemy>();
确保您已导入 java.util.*
,以便 ArrayList
也得到解析。
关于java - 为什么这个列表有错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26663336/