>  기사  >  Java  >  `List.toArray()`를 `List`와 함께 사용할 때 `ClassCastException`이 발생하는 이유는 무엇입니까?

`List.toArray()`를 `List`와 함께 사용할 때 `ClassCastException`이 발생하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-30 19:15:03361검색

Why does `List.toArray()` throw a `ClassCastException` when used with a `List`?

Java: (String[])List.toArray()에서 ClassCastException 발생

문자열 목록과 함께 List.toArray()를 사용하는 경우 , 문자열 배열을 받을 것으로 예상할 수 있습니다. 그러나 이로 인해 종종 ClassCastException이 발생할 수 있습니다.

이는 toArray()가 String[]이 아닌 Object[]를 반환하기 때문에 발생합니다. 이는 런타임에 제네릭을 사용할 수 없기 때문입니다. 목록이 List으로 생성되면 목록으로 저장됩니다. 런타임에는 목록의 개체 유형에 대한 정보가 없습니다. 따라서 toArray()는 Object[]를 반환해야 합니다.

문자열 목록에서 String[]을 얻으려면 toArray(new String[v2.size()])를 사용합니다. 그러면 적절한 크기의 String[]이 할당되고 목록의 문자열로 채워집니다.

위 내용은 `List.toArray()`를 `List`와 함께 사용할 때 `ClassCastException`이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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