日期:2014-05-20 浏览次数:20881 次
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); }
------解决方案--------------------
晕,这个问题。