내가해야 할 일은 일어나지 않습니다. 아래의 코드는 제가하고있는 일의 발현입니다. arrayList를 만들고 정수 배열을 추가합니다. 그런 다음 새로 생성 된 정수 배열을 내 arraylist의 첫 번째 요소에 할당합니다. 그런 다음 구성된 정수 배열의 값을 변경합니다. 나는 arrayList 요소와 정수 배열을 모두 출력하고 그들은 같은 값을 가지지 않는다.Integer Array의 변경으로 ArrayList의 값이 변합니다.
ArrayList<int[]> path = new ArrayList<int[]>();
int loc2[] = {0,0};
path.add(loc2);
int loc[];
loc = path.get(0);
loc[0] += 1;
System.out.println(loc[0]);
System.out.println(path.get(0)[0]);
코드의 시스템 출력이 두 줄에서 동일하지 않아야합니다.
나는 현저하게 잘못된 일을하고 있습니까? 아니면 제가하려고하는 일에 대해 오해하고 있습니까?
'발생하면 안됩니다.'왜 안 되니? 그들은 참조 객체를 보았을 때 같은 객체 인 – njzk2
입니다. loc2 == loc == path.get (0) – njzk2