-1

私は 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 を書いたときにデータは変更されるべきではありません。このポインター オブジェクトを不変にするにはどうすればよいですか?

4

3 に答える 3