public class Maze
{
public static final int ACTIVE = 0;
public static final int EXPLORER_WIN = 1;
public static final int MONSTER_WIN = 2;
private Square[][] maze;
private ArrayList<RandomOccupant> randOccupants;
private Explorer explorer;
private int rows;
private int cols;
public Maze(Square[][] maze, int rows, int cols, int numTreasures, int numMonsters, String name)
{
int i;
this.maze = maze;
this.cols = cols;
this.rows = rows;
randOccupants = new ArrayList<RandomOccupant>();
for (i = 0; i < numTreasures; i++)
{
randOccupants.add(i) = new Treasure(this); //COMPILE ERROR
}...
为什么我不能将其添加到数组列表中?我相信java文档说,我正确地做到了这一点。Java:添加到数组列表
但我没有将其声明为RandomOccupant类型的arrayList? – dukevin 2010-02-10 00:25:36
更准确地说,你要添加的对象 - 这个 - 是一个迷宫实例,它不是一个RandomOccupant(这是你告诉编译器randOccupants将包含的内容)。 – 2010-02-10 00:26:09
@GregS:如果Treasure派生自RandomOccupant会怎么样? – 2010-02-10 00:26:45