我需要将类对象的所有内容复制到新的类对象。我不需要复制对数据的引用,因为在这种情况下,如果我更改对象a2中的字段,那么这些数据将在对象a2中更改。
public class Msg {
String info="";
HashMap fld = new HashMap();
public void assign(Msg value) {
info = value.infol;
fld = value.fld;
}
}
// Do stuff with class
a1 = new Msg();
a1.info="111";
a1.fld.put("1","111");
a2 = new Msg();
a2.assign(a1);
如何实现功能assign
?
答案 0 :(得分:0)
您还需要制作HashMap
的副本,否则您将有2个指向同一HashMap
的对象。
public void Assign(Msg value)
{
Info = value.Infol;
fld = new HashMap(value.fld);
}
答案 1 :(得分:0)
org.apache.commons.beanutils.PropertyUtils.copyProperties( dest, source );