当你获得一个List的时候,想要将List转换成数组类型这个时候你可能会这样写代码
String[] a = new String[list.size()];
for(int i = 0;i < list.size();i++){
a[i] = (String)list.get(i);
}
但是这样写显得麻烦,代码不够优雅。 其实java已经提拱了一个将List转换为数组的方法那就是List.toArray()
但是List.toArray如果用不好就会产生ClassCastException异常,如下所示
List list = new ArrayList();
list.add(new Long(1))
list.add(new Long(2))
...
Long[] a = (Long)list.toArray() // 此处就会抛ClassCastException异常
正确的用法是
Long[] l = list.toArray(new Long[0])