제 질문은 자바를 사용하여 트리와 같은 콜렉션을 가질 수 있다는 것입니다. 트리의 노드를 변수에 저장하십시오. 현명한 동일한 객체 주소가 될 것입니다 (저의 이해에서) 그렇기 때문에 로컬 변수를 사용하는 노드의 데이터를 변경하면 컬렉션의 데이터도 변경됩니까?로컬 변수를 사용하여 컬렉션의 값을 변경하십시오.
0
A
답변
0
로컬 변수는 노드에 대한 참조를 보유하므로 로컬 변수의 데이터를 변경하면 실제로 참조하는 객체의 데이터가 변경됩니다.이 경우 동일한 객체이기 때문에 트리의 노드도 변경됩니다 . 대답은 좀입니다
안부
알렉스
0
. 변수가 var
이고 그 주소가 컬렉션 things
에 저장되어 있다고 가정합니다. 그런 다음 var = some_var
과 같은 작업을 수행하면 콜렉션의 데이터가 변경되지 않습니다. 이는 할당에서 var의 주소를 덮어 쓰고 있기 때문입니다. 그러나 var를 어떻게 든 수정하려면 두 변수가 모두 변경됩니다. 이는 주소가 동일하게 유지되므로 올바른 메모리에 계속 쓰고 있기 때문에 발생합니다. 예 : var.field = some_data
은 things[var].field
을 수정합니다.
이런 이유로 일반적으로 var
사본을 things
에로드하는 것이 좋습니다. 이렇게하면 우연히 연결된 채로 두지 않습니다. 사람들은 종종 깨닫지 않고 이러한 것들을 연결하고, 컬렉션이 변경되었음을 알지 못하고 변수를 수정합니다.
관련 문제
- 1. 스피너를 사용하여 값을 변경하십시오.
- 2. $ resource를 사용하여 angularjs 팩토리에서 변수를 변경하십시오.
- 3. 백본보기를 사용하여 컬렉션의 특정 값을 렌더링하는 방법
- 4. mongodb 다른 컬렉션의 값을 사용하여 문서 필터링하기
- 5. 로컬 변수 또는 함수 매개 변수를 Google 크롬에서 변경하십시오.
- 6. HTML에서 Backbone.js 컬렉션의 크기를 동적으로 변경하십시오.
- 7. jQuery Uniform.js를 사용하여 값을 변경하십시오.
- 8. onLongClickListener를 사용하여 값을 빠르게 변경하십시오.
- 9. 로컬 저장소를 사용하여 div 배경색을 변경하십시오.
- 10. 포트를 사용하여 로컬 호스트를 ip로 변경하십시오.
- 11. th 태그 값을 변경하십시오
- 12. bash - 배열의 값을 변경하십시오.
- 13. 실시간으로 javascript 변수를 변경하십시오.
- 14. 익명 내부 클래스를 모의 해 외부 로컬 최종 변수를 변경하십시오.
- 15. getElementByClassName 입력 값을 변경하십시오.
- 16. 추가 URL 매개 변수를 사용하여 acl을 변경하십시오.
- 17. dplyr 및 purrr을 사용하여 반복적으로 변수를 변경하십시오.
- 18. 전역 변수를 사용하여 동적으로 URL을 변경하십시오.
- 19. if 문을 사용하여 변수를 한 번만 변경하십시오.
- 20. 컬렉션의 값을 기준으로 아이콘을 설정하십시오.
- 21. 런타임시 int 값을 변경하십시오.
- 22. IPython - 환경 변수를 변경하십시오
- 23. socket.on의 변수를 변경하십시오.
- 24. char 변수를 영구적으로 변경하십시오.
- 25. 변수를 영구 변경하십시오.
- 26. LINQ를 사용하여 컬렉션의 내부 조인
- 27. 모델의 속성 값을 변경하십시오.
- 28. jqGrid 행 값을 변경하십시오.
- 29. 포인터를 사용하여 원래 문자열의 값을 변경하십시오.
- 30. jquery를 사용하여 select 태그의 값을 변경하십시오.
왜 테스트하지 않으시겠습니까? 하지만 네가 동일한 객체에 대한 두 개의 참조를 가지고 있다면 하나의 참조를 사용하여 고유 한 객체의 상태를 변경하면이 객체가 변경되고 다른 참조는 여전히 동일한 수정 된 객체를 가리 킵니다. –