我需要创建一个深层复制构造函数,但是我不确定如何使用给定的程序。我的程序除字节数组外不使用任何其他字段。我对构造函数的说明很简单:“复制构造函数;应执行深层复制。”

public class AdditionOnlyInt implements BigInt{

    private byte[] d;


    public AdditionOnlyInt(AdditionOnlyInt a){
        this.d = a.d;
    }
}

最佳答案

您可以从

public AdditionOnlyInt(AdditionOnlyInt a){
  this.d = a.d;
}


使用Arrays.copyOf(byte[], int)

public AdditionOnlyInt(AdditionOnlyInt a){
  this.d = (a != null && a.d != null) ? Arrays.copyOf(a.d, a.d.length) : null;
}

关于java - Java中的Deep Copy构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26226755/

10-12 02:20