; T[] toArray (T[] a);"."/> ; T[] toArray (T[] a);".">

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

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

青灯夜游
青灯夜游원래의
2020-11-02 15:00:33100258검색

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

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

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

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

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

목록을 배열로 변환

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

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

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

Object[] toArray();
<T> T[] toArray(T[] a);

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

Object[] toArray();

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

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

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

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

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

cannot Convert Object[] to String[]:

List<String> 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<String> strList = new ArrayList<>();
Object[] strArray = strList.toArray();
이 메서드는 T 유형의 배열을 받습니다.

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

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

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

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

<T> T[] toArray(T[] a);

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

다음 코드에 대해

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

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

의 다양한 효과:

List<String> strList = new ArrayList<>();
strList.add("list-a");
strList.add("list-b");
String[] strArray = strList.toArray(new String[strList.size()]);

2.3.1.size 644c87af8d8ac2af1b1cd60dcc63ccd6 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.