2012-09-23 86 views
1

我想創建一個方法來創建ArrayLists,並在現有ArrayList中的元素後面命名每個元素。
贊,ArrayList原來是(abc, def, ghi, jkl) 我想創建四個ArrayLists,名爲abc,def,ghi和jkl。使用另一個ArrayList中的字符串命名ArrayList

如何將這些字符串(abc,def)取出並用它們命名新的ArrayLists?

我想:

ArrayList original.get(0) = new ArrayList(); 

但是Eclipse說misplaced construct

我想:

String newName = original.get(count); 
ArrayList (newName) = new ArrayList(); 

但它說the left hand side of of an assignment must be a variable

如果我走了newName出括號:

String newName = original.get(count); 
    ArrayList newName = new ArrayList(); 

它說duplicate local variable newName

+0

你根本無法在Java中做到這一點 – MaVRoSCy

回答

6

在Java中,你不能命名基於另一個變量的值的變量。編譯器必須在編譯時知道所有變量的名稱。但是,方法(如original.get(0))的返回值和變量的值僅在運行時已知。

就這樣說,你可以使用Map<String, List<String>>類來做你想用動態變量名做的事情。您只需將您的ArrayList添加到在String「名稱」上索引的Map即可。

+0

我認爲我不應該這麼做,因爲我們在學校教育中沒有接近覆蓋。 如果我只是有一個字符串變量: String aString =「TheName」 我想創建一個名爲「TheName」的新ArrayList。 有沒有更簡單的方法來從該字符串中獲取名稱,並用它命名我的新對象? –

+0

@ChrisKekaha不可以,你不能使用變量的內容來命名另一個變量。正如我在第一段所述,必須在編譯時知道,而另一個只在運行時才知道。 –

+0

@ChrisKekaha如果我的答案比你想象的更復雜,那麼我認爲你正試圖解決錯誤的問題。如果您可以提供更多的細節(也許是一個新問題),我們很樂意爲您提供一些關於如何解決問題的指導。 –

相關問題