在java中,实现深层对象复制功能有点困难.您采取了哪些步骤来确保原始对象和克隆的对象没有共享?
是否有任何用于深度克隆java集合的实用程序:
注意:在不使用序列化的情况下更喜欢某些解决方案,但使用Object.clone()方法.我可以肯定我的自定义对象将实现clone()方法,并将只使用可克隆的java标准类...
public List<Minterm> completeMinterm(Minterm minterm, String variables){
List<Minterm> minterms=new ArrayList<Minterm>();
Minterm m1=new Minterm();
Minterm m2=new Minterm();
for (int k = 0; k < minterms.size(); k++) {
for (int i = 0; i < variables.length(); i++) {
..
}
m1= minterms.get(k);
m1.addAtom(new Atom(variables.charAt(i),false));
m2 = minterms.get(k);
m2.addAtom(new Atom(variables.charAt(i),true));
..
}
}
Run Code Online (Sandbox Code Playgroud)
我用Eclipse调试器发现错误,我不明白,为什么原子添加到m2被添加到m1太在同一时间,当这条线运行:
m2.addAtom(new Atom(variables.charAt(i),true));
任何想法为什么?