Object [] o = { new Integer(1), new Integer(2)};
Integer [] i=(Integer []) o;
System.out.println(i[0]);
报错如下:Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
at test.test.TestCast.main(即第二行转型出错。)应该如何解决?希望能够通过5.0的泛型解决。
如List<Integer> lP= new ArrayList<Integer>();
然后我就可以直接使用Integer了。
而数组如何进行泛型,请指教。请不要回答:通过循环o里的对象,逐个进行转型。谢谢!
Integer [] i=(Integer []) o;
System.out.println(i[0]);
报错如下:Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object;
at test.test.TestCast.main(即第二行转型出错。)应该如何解决?希望能够通过5.0的泛型解决。
如List<Integer> lP= new ArrayList<Integer>();
然后我就可以直接使用Integer了。
而数组如何进行泛型,请指教。请不要回答:通过循环o里的对象,逐个进行转型。谢谢!
解决方案 »
- swt 添加数据库记录 assertion failed: ContentViewer must have a content provider when input is set.
- 数据库查询 大哥大姐进来看看
- 关于return
- 请教一个基础问题!!!
- 请教一下关于异常处理的问题
- 大家帮我看看这个线程的编法
- 如何在文件中查找一个字符串?再线等待。
- weblogic和jbulider整和后出现的问题!问题应该比较容易,我给50分!
- 谁知道如何下载到这个开发工具?
- Orion是不是真的完全免费呀?(快来得分!)
- java数据流的问题!!急等!!解决后结帖有分!!高手进
- oracle中getGeneratedKeys问题
Integer[] o = { new Integer(1), new Integer(2)};
Integer [] i=(Integer []) o;
你那样做我当然知道,我就是希望实现转型,具体为什么就没必要说了。只是希望能实现数组转型。
谢谢,你这样做可以!是个解决办法。能想想帮忙如何通过5.0泛型来实现嘛?谢谢喽!我试了。就连编译都不通过!
当然如果这个Object[]的运行时类型是Integer[],当然可以转回来。数组中的元素类型不能决定数组本身的类型(只要兼容就可以)
Object [] o = new integer[]{ new Integer(1), new Integer(2)}; 是可行的。
Integer[] dest =new Integer[src.length];
System.arraycopy(src,0,dest,0,src.length);当然也可以通过List来做这个转换
Integer[] dest=(Integer[])new ArrayList(Arrays.asList(src)).toArray(new Integer[src.length]);