java的构造函数
使用自定义类初始化构造函数:
sx = new Sequence(lk.get(i));
public class Sequence {
private ArrayList<ItemSet> sequence;
public Sequence(Sequence seq) {
//sequence = new ArrayList<>(seq.toArrayList()); 添加的是引用
sequence = new ArrayList<>();
for (int i = 0; i < seq.size(); ++i) {
sequence.add(new ItemSet(seq.get(i)));
}
}
}
直接使用new arraylist,添加的是ItemSet 的引用,没有复制内容。
public class ItemSet {
private ArrayList<String> itemSet;
public ItemSet(ItemSet e) {
itemSet = new ArrayList<>(e.toArrayList());
// itemSet = new ArrayList<>();
// for (int i = 0; i < e.size(); ++i) {
// itemSet.add(new String(e.get(i)));
// }
}
}
在ItemSet 中,可以直接使用初始化,因为ArrayList的元素是String ,所以会直接复制(?)
浙公网安备 33010602011771号