我是 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 时不应更改数据。如何使这个指针对象不可变?