list赋值问题
现在有个list里面存放的值是一个bean的类型
我现在把他进行循环,把bean的值改变了,赋值给另外一个list
结果,2个list的值是一样的,
我想做的就是bean改变后,原来那个list的值不变
现在运行的结果是
********
1111
2222
*************
33333
33333
*************
33333
33333
********
我想要的结果是
********
1111
2222
*************
1111
2222
*************
33333
33333
********
原来的list的值不变
我现在把他进行循环,把bean的值改变了,赋值给另外一个list
结果,2个list的值是一样的,
我想做的就是bean改变后,原来那个list的值不变
import java.util.ArrayList;
public class TestMain {
private static ArrayList list=new ArrayList();;
private static ArrayList list1=new ArrayList();;
/**
* @param args
*/
public TestMain(){
}
public static void main(String[] args) {
// TODO Auto-generated method stub
TestBean bean = new TestBean();
bean.setName("1111");
list.add(bean);
TestBean bean2 = new TestBean();
bean2.setName("2222");
list.add(bean2);
System.out.println("********");
for(int i=0;i<list.size();i++){
TestBean bean1 = (TestBean)list.get(i);
System.out.println(bean1.getName());
list1.add(bean);
}
System.out.println("*************");
ArrayList str1=replace(list1);
for(int i=0;i<list.size();i++){
TestBean bean1 = (TestBean)list.get(i);
System.out.println(bean1.getName());
}
System.out.println("*************");
for(int i=0;i<str1.size();i++){
TestBean bean1 = (TestBean)list.get(i);
System.out.println(bean1.getName());
}
System.out.println("********");
}
public static ArrayList replace(ArrayList str){
ArrayList test = new ArrayList();
for(int i=0;i<str.size();i++){
TestBean bean = (TestBean)list.get(i);
bean.setName("33333");
test.add(bean);
}
return test;
}
}
class TestBean {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
现在运行的结果是
********
1111
2222
*************
33333
33333
*************
33333
33333
********
我想要的结果是
********
1111
2222
*************
1111
2222
*************
33333
33333
********
原来的list的值不变
...全文


Web 开发
