자바의 컬렉션 메소드들은 대부분 toArray() 가 구현되어 있다.
이 메소드는 컬렉션 형태로 되어 있는 것들을 배열로 리턴해준다.
ArrayList
al_list = new ArrayList();
al_list.add("aaa");
al_list.add("bbb");
위의 예는 ArrayList 컬렉션에 "aaa", "bbb" 두 스트링 객체를 넣었다.
리턴타입을 따로 지정하지 않게 제너릭을 이용했다.
위의 컬렉션을 배열로 만들어 보자
1. Object[] 형태로 리턴하기
Object[] obj = (Object[])al_list.toArray();
2. 리턴타입을 결정하여 리턴하기
String[] str = (String[])al_list.toArray();
하면 될것 같지만 실제로는 java.lang.ClassCastException 이 발생하게 된다.
이를 수정해보자.
String[] str = new String[al_list.size()];
str = (String[])al_list.toArray(str);