【发布时间】:2012-08-01 11:00:46
【问题描述】:
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));
..
}
}
我用eclipse调试器找错了,不明白,为什么m2上的atom也同时加到m1上,这行运行的时候:
m2.addAtom(new Atom(variables.charAt(i),true));
知道为什么吗?
【问题讨论】:
-
因为
m1和m2都指向对象minterms.get(k) -
取决于你想要达到的目标...你的目标是什么?
-
我想将 minterms.get(k) 分配给 m1 和 m2 并相互独立地处理 m1 和 m2
-
这种情况下可以使用深拷贝。
标签: java