小编Esc*_*eNT的帖子

ArrayList中的对象不使用泛型保留其类型

我有一个二维ArrayList存储Block对象以供以后使用.但是,Block当我通过列表中的索引获取对象时,它不会让我调用对象上的方法.这是我初始化列表的代码:

ArrayList<ArrayList> col = new ArrayList<ArrayList>();

for(int column = 0; column < SIZE; column++) {
        // Add a row of block objects
        col.add(new ArrayList<Block>());

        // Populate the row
        for(int row = 0; row < SIZE; row++) {
            col.get(column).add(new Block());
            grid.add((Block) col.get(column).get(row));
        }
}
Run Code Online (Sandbox Code Playgroud)

问题似乎是当我将块添加到grid(JPanel)时,除非我将对象强制转换为a,否则它将无法编译Block.换句话说,grid.add(col.get(column).get(row)) 不会起作用.任何想法为什么会这样?

java generics arraylist multidimensional-array

1
推荐指数
1
解决办法
273
查看次数