Java SE 1.4.2 이후 Java의 `Arrays.asList()` 메서드가 어떻게 변경되었으며 어떻게 해결할 수 있습니까?
Dec 12, 2024 pm 06:39 PMJava에서 배열을 목록으로 변환: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 클래스로드 메커니즘은 다른 클래스 로더 및 대표 모델을 포함하여 어떻게 작동합니까?

2025 년 상위 4 개의 JavaScript 프레임 워크 : React, Angular, Vue, Svelte

캐싱 및 게으른 하중과 같은 고급 기능을 사용하여 객체 관계 매핑에 JPA (Java Persistence API)를 어떻게 사용하려면 어떻게해야합니까?

고급 Java 프로젝트 관리, 구축 자동화 및 종속성 해상도에 Maven 또는 Gradle을 어떻게 사용합니까?

Spring Boot Snakeyaml 2.0 CVE-2022-1471 문제 고정
