作者keeperkai (keeperkai)
看板java
標題Re: [問題] 請問arraylist與object的用法
時間Thu Apr 22 01:54:48 2010
※ 引述《jimi7788 (jimi7788)》之銘言:
: List<String> user1_card = new ArrayList();
: List<String> user2_card = new ArrayList();
: List<String> user3_card = new ArrayList();
: List<String> user4_card = new ArrayList();
: List objUser = new ArrayList();
: objUser.add(user1_card);
: objUser.add(user2_card);
: objUser.add(user3_card);
: objUser.add(user4_card);
: for(int g=objUser.size()-1; g>= 0; g--)
: {
: for(int c=0;c<7;c++)
: {
: objUser[g].add(c); 這行出現問題
: 我的想法是要將每objUser[g]存上7個資料
: 請問我該如何表示,或用其他方法存 會更方便
: 麻煩大家教我一下
: 因為我沒寫過java 算初學者 麻煩了
: }
: }
: }
基本上objUser也是arraylist而非array...
所以你必須使用他的method來回傳該object,並且使用該object的add()method將你
想加入的值加入,所以該列應該改成:
((List<String>) objUser.get(g)).add(String.valueOf(c));
ArrayList 之method如下:
.get(int index) 回傳在list中位於index位置的object(是所有class的superclass)
.toArray() 回傳該list中所有object所組成之array
而前面加上(List<String>)才可以使用List的method add()
因為他回傳的是object而非ArrayList所以必須加上去。
另外一個方法是將外層for loop改成enhanced for loop如下:
for (Object x:objUser.toArray()){//好處是不用去管有幾個
for(int c=0;c<7;c++){
((List<String>) x).add(String.valueOf(c)
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.222.23.95
※ 編輯: keeperkai 來自: 203.222.23.95 (04/22 02:02)
→ Darkword1987:我好奇的是為什麼沒寫過java會需要問這問題... 04/22 05:33
→ keeperkai:他的意思應該是說剛學吧..應該不是完全沒學過 04/22 08:24
推 jimi7788:我是完全沒學過~因為我是用ActionScript的概念去寫的 04/22 09:47
→ jimi7788:謝謝keeperkai的回答!解說的好詳細! 04/22 09:54