日期:2014-05-20 浏览次数:21044 次
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
class www {
String a;
String b;
public www(String a) {
this.a = a;
}
}
public class Main {
public static void main(String[] args) {
List<String> list1 = new ArrayList<String>();
list1.add("2");
list1.add("3");
list1.add("4");
List<www> list2 = new ArrayList<www>();
Iterator<String> it = list1.iterator();
while (it.hasNext()) {
list2.add((new www(it.next())));
}
for (www w : list2) {
System.out.println(w.a);
}
}
}
------解决方案--------------------
4L,
//这段不可以,因为你list2里的第i项是空的,所以list2.get(i)会再get(i)的时候报index越界
for (int i = 0;i<list1.size();i++) {
list2.get(i).a = list1.get(i);
}
//所以你list2.add(..)必须加,而且..必须是一个www类型的对象,否则.a的时候会报错
//比如下面的写法,但这种写法我还真没看到过,很扭曲
for (int i = 0;i<list1.size();i++) {
list2.add(new www(""));
list2.get(i).a = list1.get(i);
}
------解决方案--------------------
晕,这个问题。