; T[] toArray (T[] a);".">
Java에서 목록 컬렉션을 배열로 변환하는 방법: 1. 매개변수 없는 toArray 메서드를 사용합니다. 구문 형식은 "Object[] toArray();"입니다. 2. 제네릭을 지원하는 toArray 메서드를 사용합니다. 구문 형식은 다음과 같습니다. "
T[] toArray (T[] a);".
관련 추천: "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[]:
ListstrList = 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 메서드를 지원합니다
ListstrList = new ArrayList<>(); Object[] strArray = strList.toArray();
기본 유형은 일반 매개변수로 사용할 수 없습니다.
int[] 유형 배열을 사용하는 경우
int[]를 Integer[]로 바꿔야 합니다.
사용된 샘플 코드는 다음과 같습니다.
T[] toArray(T[] a);
다음 코드에 대해
초기화된 문자열 배열의 크기와
의 크기를 분석합니다. List strList.size( ) 관계, 반환 값에 대한
의 다양한 효과:
ListstrList = 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,
수정된 코드 부분은 다음과 같습니다.
ListstrList = 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!