; T[] toArray (T[] a);"."> Java에서 목록을 배열로 변환하는 방법은 무엇입니까?-Java베이스-php.cn
> Java> Java베이스> 본문

Java에서 목록을 배열로 변환하는 방법은 무엇입니까?

青灯夜游
풀어 주다: 2020-11-02 15:00:33
원래의
100195명이 탐색했습니다.

Java에서 목록 컬렉션을 배열로 변환하는 방법: 1. 매개변수 없는 toArray 메서드를 사용합니다. 구문 형식은 "Object[] toArray();"입니다. 2. 제네릭을 지원하는 toArray 메서드를 사용합니다. 구문 형식은 다음과 같습니다. " T[] toArray (T[] a);".

Java에서 목록을 배열로 변환하는 방법은 무엇입니까?

관련 추천: "Java 비디오 튜토리얼"

Java에서는 목록과 배열 간의 변환이 필요한 시나리오를 자주 접하게 됩니다. 그렇다면 목록을 배열로 변환하는 방법은 무엇입니까? 다음 기사에서는 이를 소개합니다.

List를 배열로 변환하려면 List의 toArray() 또는 toArray(T[] a) 메서드를 사용할 수 있습니다.

목록을 배열로 변환

목록을 배열로 변환하려면 toArray 메서드를 호출할 수 있습니다.

여기에는 두 가지 오버로드된 메서드가 있습니다.

일반적으로 일반 매개변수와 함께 두 번째 메서드를 사용합니다.

Object[] toArray();  T[] toArray(T[] a);
로그인 후 복사

2.1 . 매개변수 없는 toArray 메서드

Object[] toArray();
로그인 후 복사

이 메서드는 List를 Object[] 배열로 직접 변환합니다.

Java 초보자는 이 방법을 선호합니다.

매개변수 없이 사용하면 매우 편리합니다.

그리고 코드를 컴파일할 때 오류가 발생하지 않습니다.

잘못된 사용에 대한 샘플 코드는 다음과 같습니다. 결과가 실행되면

cannot Convert Object[] to String[]:

List strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray = (String[]) strList.toArray();
로그인 후 복사

올바른 사용 코드는 다음과 같습니다.

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
로그인 후 복사

보통 쓸모가 없는 Object[]를 얻었습니다.

2.2 일반 toArray 메서드를 지원합니다

List strList = new ArrayList<>(); Object[] strArray = strList.toArray();
로그인 후 복사
이 메서드는 T 유형의 배열을 받습니다.

기본 유형은 일반 매개변수로 사용할 수 없습니다.

int[] 유형 배열을 사용하는 경우

int[]를 Integer[]로 바꿔야 합니다.

사용된 샘플 코드는 다음과 같습니다.

 T[] toArray(T[] a);
로그인 후 복사

2.3 toArray 메소드 입력 매개변수의 배열 크기

다음 코드에 대해

초기화된 문자열 배열의 크기와

의 크기를 분석합니다. List strList.size( ) 관계, 반환 값에 대한

의 다양한 효과:

List strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray = strList.toArray(new String[strList.size()]);
로그인 후 복사

2.3.1.size < strList.size()

이제 size=0으로 설정하면

가 strList보다 작습니다. size()=2,

수정된 코드 부분은 다음과 같습니다.

List strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray1 = new String[size]; String[] strArray2 = strList.toArray(strArray1);
로그인 후 복사

반환된 strArray2와 strArray1은 동일한 객체가 아닙니다.

2.3.2.size = strList.size()

이제 size=strList.size()로 설정하고,

코드 수정 부분은 다음과 같습니다.

String[] strArray1 = new String[0];
로그인 후 복사

반환된 strArray2와 strArray1은 동일한 객체입니다.

따라서 다음 두 코드는

에서 얻은 strArray가 우리가 기대하는 결과입니다.

String[] strArray1 = new String[strList.size()];
로그인 후 복사

2.3.3.size > strList.size()

이제 size=strList.size()를 설정하세요. +1,

수정된 코드 부분은 다음과 같습니다.

String[] strArray = strList.toArray(new String[strList.size()]); String[] strArray = new String[strList.size()]; strList.toArray(strArray);
로그인 후 복사

반환된 strArray2와 strArray1은 동일한 객체입니다.

하지만 배열의 마지막 요소가 null이면,

배열에 더 많은 요소가 있는 경우

목록이 복사된 직후 배열의 끝은 null로 설정됩니다.

즉, strArray1[strList.size()]=null,

이것은 호출자가 배열의 실제 길이,

strList.size( )+2를 사용하면 배열이 초기화됩니다.

배열의 끝에서 두 번째 요소는 null입니다.

더 많은 프로그래밍 관련 지식을 보려면

프로그래밍 교육

을 방문하세요! !

위 내용은 Java에서 목록을 배열로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!