2013-03-19 74 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

相關問題