使用数据字段复制对象

时间:2013-08-08 12:31:44

标签: java

我需要将类对象的所有内容复制到新的类对象。我不需要复制对数据的引用,因为在这种情况下,如果我更改对象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

2 个答案:

答案 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 );
相关问题