首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

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

2012-10-29 
java泛型在list.toArray()处的难堪ListString strList new ArrayListString()strList.add(1)str

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]);这样也挺好啊!
为什么还得转换后再赋值?

热点排行