LinkedListに格納されているStringの要素を配列で取得したいんですが、

LinkedList list;
String strings[];

strings = (String[])list.toArray();

とするとClassCastExceptionが発生します。

LinkedList list;
String strings[];
int n;

strings = new String[list.size()];
for(n = 0; n < list.size(); n++)
  strings[n] = (String)list.get(n);

のように、要素を1個ずつキャストするしかないんでしょうか?