为了在类中存储字节数组,我只复制数组还是只传递一个引用?在类中存储字节[]
E.g.
class MyClass {
public MyClass(int size, Byte buf[]) {
this.size = size;
this.buffer = buf;
}
private int size;
private Byte buffer[];
}
,或者
class MyClass {
public MyClass(int size, Byte buf[]) {
this.size = size;
this.buffer = buf;
}
private int size;
private Byte buffer[] = new Byte[size];
}
,或者
class MyClass {
public MyClass(int size, Byte buf[]) {
this.size = size;
this.buffer = copyOf(buf, 5);
}
private int size;
private Byte buffer[];
}
我很困惑我是否需要数组真的复制或只是存储的参考?
第二个将创建一个大小为“0”的数组,然后用buf覆盖它。最后将创建一个副本,**这对于不变性是有利的**因为数组引用将会不同 – AxelH