개발

toArray() 사용방법

에드몽단테스 2007. 6. 22. 09:12
자바의 컬렉션 메소드들은 대부분 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);

반응형