我是Java的初学者。开发程序时,我创建了一个带有构造函数的对象,该构造函数以变量作为参数。但是当我在创建对象后更改变量的值时,我的对象具有第二个值而不是第一个值。我不希望我的对象更改值。我该怎么办?
public class Person {
public Person(int[] arrayTest) {
this.arrayTest = arrayTest;
}
public int[] getArray() {
return this.arrayTest;
}
public boolean canHaveAsArray(int[] arrayTest) {
return true;
}
private int[] arrayTest = new int[2];
public static void main(String[] args) {
int[] array = new int[] {5, 10};
Person obj1 = new Person(array);
array[0] = 20;
System.out.println(Arrays.toString(obj1.getArray()));
}
}
Run Code Online (Sandbox Code Playgroud)
我的输出应该是[5,10],但是我却得到[20,10]。即使如上所述更改数组的元素,我也需要获取[5,10]。我该怎么办?
java ×1