读书人

java泛型在list.toArray()处的尴尬

发布时间: 2012-10-29 10:03:53 作者: rapoo

java泛型在list.toArray()处的难堪

List<String> strList = new ArrayList<String>();        strList.add("1");        strList.add("2");        List<Integer> intList = new ArrayList<Integer>();        intList.add(3);        intList.add(4);        List<Object> objList = new ArrayList<Object>();        /** 添加String List 和Integer List 对象进入Object List */        objList.addAll(strList);        objList.addAll(intList);               Object [] objs = objList.toArray();        for ( Object obj : objs )            System.out.println(obj);


5 楼 beefcow 2009-08-11 不错

感谢 6 楼 hunnuxiaobo 2010-04-30 mercyblitz 写道 List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
String [] nums = new String [list.size()];
list.toArray(nums);

这样就没有问题了!
我今天做项目也遇到这个问题,总报String cannot cast to Object异常。我试了一下,3楼的办法可行,谢谢! 7 楼 crabdave 2010-12-20 建议这个问题还是查一下API吧!
toArray(T[] a) 返回以正确顺序包含列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。

注明类型不就完了么?
String[] tt =list.toArray(new String[0]);这样也挺好啊!
为什么还得转换后再赋值?

读书人网 >软件架构设计

热点推荐