본문 바로가기

Java

Collection 인터페이스의 toArray() 메소드 사용하기

Collection 인터페이스는 원소들을 배열로 변환하는 toArray() 메소드를 제공합니다. 사용 시 주의할 점은 Collection 인터페이스를 상속한 객체의 원소와 동일한 형으로 변환할 경우 배열 객체를 생성하고 생성한 배열 객체를 toArray() 메소드의 인자값으로 넘겨주어야 한다는 것입니다. 아래의 코드를 보시면 확실히 이해하실 수 있으실 겁니다.
  
Vector v = new Vector();
v.add("hello");
v.add("hi");


//1. Object[] 배열로 받는 방법
Object[] obj = (Object[])v.toArray();


//2. 원소와 동일한 형으로 받는 방법
String[] arr = (String[])v.toArray(); //이렇게하면 ClassCastException 발생

String[] arr = new String[v.size()]; //이렇게해야 동일한 원소형의 배열로 받을 수 있음
arr = (String[])v.toArray(arr); 


출처 : 데브포유