Java에서 배열을 목록으로 변환: 1.4.2 이후 변경 사항 확인
Java에서 배열을 목록으로 변환하는 동안 다음과 같은 문제가 발생할 수 있습니다. Java SE 1.4.2에서 8로의 Arrays.asList() 메서드 변경으로 인한 예기치 않은 동작. 이 문서 이러한 변경 사항을 자세히 살펴보고 버전 전반에 걸쳐 일관된 목록 변환을 보장하는 솔루션을 제공합니다.
1.4.2 이전 동작: 배열을 목록으로 변환
Java SE 1.4 이전 .2에서 Arrays.asList() 메서드는 배열을 변경 가능한 목록으로 편리하게 변환했습니다. 예를 들어, 다음 코드 조각은 요소 1, 2, 3을 포함하는 목록을 생성합니다.
int[] numbers = new int[] { 1, 2, 3 }; List<Integer> list = Arrays.asList(numbers);
1.4.2 이후 동작: 목록에 래핑된 배열
Java SE 1.5.0부터 Arrays.asList()의 동작이 크게 변경되었습니다. 배열을 요소 목록으로 변환하는 대신 이제 단일 요소인 원래 배열을 포함하는 수정 불가능한 래퍼 목록을 반환합니다. 이 동작은 잠재적으로 예측할 수 없는 결과를 초래할 수 있는 목록 수정을 방지하기 위해 도입되었습니다.
그 결과 이전 코드 조각은 이제 다르게 동작하여 '숫자' 배열이 포함된 목록을 반환합니다.
int[] numbers = new int[] { 1, 2, 3 }; List<int[]> list = Arrays.asList(numbers); // Note: <> should be omitted
해결 방법: 배열을 기본 목록으로 변환 래퍼
배열의 개별 요소를 포함하는 변경 가능한 목록을 얻으려면 배열을 해당 기본 래퍼 클래스 목록으로 변환할 수 있습니다. 예를 들어 정수 개체 목록을 만들려면 다음 코드를 사용합니다.
Integer[] numbers = new Integer[] { 1, 2, 3 }; List<Integer> list = Arrays.asList(numbers);
이 방법을 사용하면 결과 목록에 배열 자체가 아닌 기본 값이 포함됩니다.
위 내용은 Java SE 1.4.2 이후 Java의 `Arrays.asList()` 메서드가 어떻게 변경되었으며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!