程序对2d ArrayList [] []使用未经检查或不安全的操作

时间:2013-03-19 23:59:59

标签: java arraylist unsafe unchecked

我在大学里有一个任务是制作一个由游乐场组成的游戏板。每个字段都可以包含许多项目。我用数组arrayList做了它:

List<String>[][] items = new ArrayList[x][y];

在Eclipse中一切都很好,但是当我将它上传到uni的网站时,它会给我一个错误,我在其他程序中收到了错误,其中包含其他列表。我之前程序中的代码是:

List list = new ArrayList();

我修好了这个:

List<String> list = new List<String>();

但现在情况有所不同,因为我不允许写:

List<String>[][] items = new ArrayList<String>[x][y]();

这是我得到的错误:

Note: student/GameImplementation.java uses unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details

P.S。如果您知道更优雅的方式来完成任务,请分享。我在想这样的事情:

Board<Fields<Items>> board = new Board();

但不知道如何让它发挥作用。那些对象使我感到困惑。

提前致谢。

1 个答案:

答案 0 :(得分:1)

最好的方法是将单个单元格中包含的数据封装在特定类中:

class Cell {
  List<String> data;
  OtherData data2;
}

Cell[][] items;

您在List<String>内存储了什么?因为使用String对象并不总是最好的解决方案,特别是当你有一组有限值时(你可以使用例如enum)。