日期:2014-05-20  浏览次数:20881 次

何如把一个List<String>里的值,赋给另一个List
比如
list1   是   { "2 ", "3 ", "4 "}
list2是空   List <www>

class   www{
        String   a;
        String   b;
}


想要的结果
list2     的a   是   list1里的值

谢谢了

------解决方案--------------------
首先声明 本人新手 
如有错误 概不负责

你可以看下
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()){
www w = new www();
w.a = it.next();
list2.add(w);

}
------解决方案--------------------
楼上说的方法可以
------解决方案--------------------
1楼可以实现,稍微改下能更好。
Java code
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,
Java code

//这段不可以,因为你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);   
}

------解决方案--------------------
晕,这个问题。