list赋值问题

linpyi linpyi 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现在有个list里面存放的值是一个bean的类型

我现在把他进行循环,把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的值不变
...全文
评论 10
收藏 已收藏
分享
返回顶部
linpyi
Web 开发 81,108 成员 341,721 内容