爲了在類中存儲字節數組,我只複製數組還是隻傳遞一個引用?在類中存儲字節[]
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