2013-03-19 23 views
0

我有任务在大学做自制剧领域的打板。每个领域都可以包含许多项目。我有一个数组ArrayList的像,使得它:程序使用未经检查或不安全的操作对于2D的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

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

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

Cell[][] items; 

你在存储List<String>里面?由于使用String对象并不总是最好的解决方案,尤其是当你有一组有限的值(你可以使用例如一个enum)。

+0

我存储在当前场中的项目的名称。这些项目是有限的,但是每场比赛都进行初始化,每场比赛可能会有所不同。这意味着有addItem方法,所以我认为枚举不能用于我的情况。 – 2013-03-20 00:23:15

+0

@DanielDimitrov在杰克的答案中,我没有看到任何提及的枚举。 – 2013-03-20 03:46:33

相关问题