作者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)
1F:→ Darkword1987:我好奇的是为什麽没写过java会需要问这问题... 04/22 05:33
2F:→ keeperkai:他的意思应该是说刚学吧..应该不是完全没学过 04/22 08:24
3F:推 jimi7788:我是完全没学过~因为我是用ActionScript的概念去写的 04/22 09:47
4F:→ jimi7788:谢谢keeperkai的回答!解说的好详细! 04/22 09:54