私は Java の初心者で、Java で配列を返すことについて混乱しています。以下は私のコードです:
public class Pointer{
private final int[] data;
Pointer(){
data = new int[4];
data[0] = 1;
data[1] = 2;
data[2] = 3;
data[3] = 4;
}
public int[] test(){
return data;
}
public void print(){
int length = data.length;
int j;
for(j = 0; j < length; j++){
System.out.println(data[j]);
}
}
static public void main(String[] argv){
Pointer i = new Pointer();
int[] re = i.test();
i.print();
re[2] = 1;
i.print();
}
}
私はそれへのポインターの代わりに int の配列を返したので、re[2] = 1 を書いたときにデータは変更されるべきではありません。このポインター オブジェクトを不変にするにはどうすればよいですか?