list列表中添加多个【只修改了一个属性的对象】
2013-08-23 16:19
423 查看
要添加一个objectBean对象到list中,不能使用对象A=对象B,这样的话完全使对象A的指针指向了B,他们表示的是一个区域了。添加到list中是以最后一个为准。下面是正确的代码。红色标记的是需要特别注意的地方。
package TestListObject; import java.util.Date; public class ObjectBean { private String name; private String sex; private Date birthday; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
package TestListObject; import java.util.ArrayList; import java.util.Date; import java.util.List; public class TestList { public static void main(String[] args) { ObjectBean ob = new ObjectBean(); ob.setName("liu"); ob.setSex("女"); ob.setBirthday(new Date()); List<ObjectBean> beanlist = new ArrayList<ObjectBean>(); beanlist.add(ob); for (int i = 0; i < 3; i++) { ObjectBean bean = new ObjectBean(); bean.setBirthday(new Date(ob.getBirthday().getTime()+2*i*3600*1000)); bean.setName(ob.getName()); bean.setSex(ob.getSex()+i); beanlist.add(bean); } for (ObjectBean objectBean : beanlist) { System.out.println(objectBean.getBirthday()+objectBean.getSex()); } } }
错误的代码:
package TestListObject; import java.util.ArrayList; import java.util.Date; import java.util.List; public class TestList { public static void main(String[] args) { ObjectBean ob = new ObjectBean(); ob.setName("liu"); ob.setSex("女"); ob.setBirthday(new Date()); System.out.println(ob.getBirthday()); ObjectBean bean = new ObjectBean(); bean = ob; List<ObjectBean> beanlist = new ArrayList<ObjectBean>(); for (int i = 0; i < 3; i++) { bean.getBirthday().setHours(ob.getBirthday().getHours()+2); System.out.println(bean.getBirthday()); ObjectBean bean2 = new ObjectBean(); bean2 = bean; beanlist.add(bean2); } } }
相关文章推荐
- List集合中删除属性(一个或者多个属性)相同的对象返回List且根据对象属性进行排序输出
- List.add方法——向集合列表中添加对象
- js学习(一)-动态添加、修改、删除对象的属性和方法
- CSS list-style修改列表属性控制li标签样式
- java list按照 对象 指定多个字段属性进行排序
- java list按照 对象 指定多个字段属性进行排序
- pads布局布线技巧(【PCB文件中显示引脚号】 【敷铜】 【显示网络名】 【高亮网络】 【修改PCB中文本的尺寸】 【同时修改多个文本(对象)的尺寸(属性) 让集中在一起的元件散开)
- 阿里巴巴 Java 开发手册:asList 的返回对象是一个 Arrays 内部类,并没有实现集合的修改方法
- javascript动态添加、修改、删除对象的属性和方法
- javascript动态添加、修改、删除对象的属性和方法
- 一个子组件没有添加到显示列表前,它的属性不能修改
- 关于给javascript对象添加、删除、修改对象的属性
- 使CheckBoxList的Attributes属性生效(修改微软的一个bug)
- 如何通过传指针得到一个list对象列表的地址
- runtime获取属性列表,修改属性值,添加并修改私有方法的调用
- 获取一个list集合里面的一个对象的一个属性对应的值,平凑成一个字符串
- 为某一个对象动态添加属性
- mybatis查询得到list列表,列表长度不为零,但遍历列表获取对象属性值时,出现空指针异常
- javascript动态添加、修改、删除对象的属性和方法
- 将同一个list对象中具有相同属性的对象放入到一个新的list中