I이 [준 자바 코드] 할 경우에 globalPublicStaticArrayList루프의 ArrayList.add() 이후에 모든 요소가 동일합니다. 왜?
while (loop)
{
localObject = getDataForObject();
globalPublicStaticArrayList<Object>.add(localObject);
}
모든 요소들이 동일한 추가의 LocalObject 마지막 사본을 동일. 나는 디버거에서 루프를 밟아서 Object가 추가 되 자마자 globalPublicStaticArrayList의 모든 요소에 복사되는 것을 보았습니다.
내가 찾은 해결 방법은 다음과 같습니다
while (loop)
{
localObject = getDataForObject();
globalPublicStaticArrayList<Object>.add(new Object(localObject.member1, localObject.member2,...));
}
이 통과 참조에 의한 자바에서 함께 할 수있는 그 무언가를 했습니까? 첫 번째 경우에는 요소가 어떻게 동일하게됩니까? 감사.
은'getDataForObject()'에 대한 코드를 보여줍니다. 또는 아마도 전체 활동 코드 – waqaslam
이 질문은 다른 질문 이전에 질문되었습니다. 이게 중복 된 것이지 그게 아닌가? 당신의 통찰력에 감사드립니다. – iceman