2016-09-23 4 views
0

ArrayList가 함수에서 null로 시작되고 다른 함수로 전달되었습니다. 다른 함수에서 나는 null을 체크하고 그리스트에 대해 비어 있고 전달 된리스트가 null로 발견되면 새로 생성 된리스트를 할당했다. 그러나 그 함수에서 돌아 왔을 때 그리스트가 여전히 null이라는 것을 알았습니다. Java가 값에 의해 전달되면 전달 된 목록에서 변경 한 내용은 반환 된 목록에 반영되어야합니다.ArrayList가 함수에서 반환 될 때 null입니다.

+0

코드를 설명하는 것이 아니라 * 표시하십시오. 문제가 Java에서 전달되는 것을 오해 한 것 같습니다. 객체가 아니기 때문에 참고 자료입니다. 참조는 값으로 전달되지만 객체에 대한 수정은 나중에 참조를 통해 볼 수 있습니다. –

+0

일부 코드를 추가하십시오 – Venkat

답변

0

자바는 말 그대로 전달합니다.

값으로 목록에 대한 포인터를 에 전달합니다.

메서드는 호출자가 사용하는 변수를 으로 전달할 새 값 ()으로 업데이트 할 수 없습니다.

당신이 할 수있는 일은 (적절한 방법을 호출하여) 전달 된 목록의 내용을 변경하는 것입니다. 다른 목록으로 변경할 수는 없습니다. 그렇게하고 싶다면 새 목록을 반환 값으로 되돌려 보내야합니다.

관련 문제