요소 현재 내부 컬렉션에 대한 나던 작업 : 합니까 자바 "참조로 패스"나는 내가 다음과 같이 얻을 목록을
List<MyObject> list = complexObject.getMyObjectList();
for(final MyObject obj in list){
// set something in obj. .............(1)
}
나는 위의 코드를 디버깅하고 수정을 MyObject 년대는 발견 보였다 다음과 같이하지 않으면 complexObject에 반영되지 않습니다.
complexObject.setList(list);
Java는 "Pass by reference"로 모든 것을 수행한다고 생각했습니다. 나는 뭔가를 놓친다. ?
'getMyObjectList()'의 구현을 알고 있습니까? 어쩌면 깊은 사본을 돌려 줄 수 있습니다. –
Java는 "값으로 참조를 전달합니다". –
Java가 참조로 전달되지 않습니다. (일부 사람들은 틀린 말을하고 있지만 틀린 사람을 제외하고는 "참조로 전달"이라는 용어를 확장합니다.) 수많은 다른 질문을보십시오. "obj에서 뭔가 설정하기"는'obj = ...'일까요? – delnan