如何创建两个相同类的构造函数并在第二次执行值传递操作



这是我的尝试

public class blah {
HashSet<something> blah;    
public Blah() {
    this.blah = new HashSet<something>(); //this is empty constructor of something
}

我想在新废话中复制公共废话的所有元素

public Blah(Blah initialBlah) {
    initialBlah = new Blah();
            // MAKE DEEP COPIES HERE 
            for (something c : blah){
                initialBlah.add(c);
            }
        }

我试过了,但不对 哈希集 新布拉 = 新哈希集((;

你只是在复制引用。您需要完全复制内容才能创建新的 Blah 对象。要实现这一点,请执行此操作而不是您的 for 循环

this.blah = new HashSet<something>(initblah.blah);

最新更新