A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mmppp 中级黑马   /  2014-12-2 16:32  /  1007 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

ArrayList al = new ArrayList();
Object[] obj = al.toArray();
我这个obj里面存的都是数字,我想把里面的数字进行排序。
所以我想把obj类型的数组转成int【】。但是后来出现了ClassCastException。
请问各位大神怎样转化才可以啊

1 个回复

倒序浏览
本帖最后由 冥夜 于 2014-12-2 17:14 编辑

按你写的代码是想把ArrayList的元素列表赋值给obj数组啊- -
⊙﹏⊙b汗。强转Object类成int竟然会报错。那么只能先用Object的toString转换成字符串然后用Integer中的parseInt方法来转换了。。

  1. public class ArrayListTest
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 ArrayList<Object> al=new ArrayList<Object>();
  6.                 al.add(1);
  7.                 al.add(2);
  8.                 al.add(3);
  9.                
  10.                 int[] ins=new int[al.size()];
  11.                 for(int i=0;i<al.size();i++)
  12.                 {
  13.                         ins[i]=Integer.parseInt(al.get(i).toString());
  14.                 }
  15.         }
  16. }
复制代码

顺便提下,想要对集合排序,可以直接用Collections里的sort方法

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马