int[] array =new int[7];
  List list =new ArrayList();
  Random rd=new Random();
   while(list.size()<8)
   {
   int a=rd.nextInt(33)+1;
   if(!list.contains(a))
   list.add(a);  
   
   }
   for(int i=0;i<list.size();i++)
   {
   array[i]=(int)list[i];//这里出错了
   }    
     错误信息
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
The type of the expression must be an array type but it resolved to List at NumberGame.main(NumberGame.java:21)
求高手决绝

解决方案 »

  1.   

       for(int i=0;i <list.size();i++)
      {
      array[i]=(int)list[i];//这里出错了
      }   
    改成  int[] tmpArray=(int)list.toArray();
      for(int i=0;i <list.size();i++)
      {
      array[i]=tmpArray[i];//这里出错了
      }  
      

  2.   

    不行啊
    按照你说的抛出这样的异常
    java.lang.Error: Unresolved compilation problems: 
    Cannot cast from Object[] to int
    Type mismatch: cannot convert from int to int[]
      

  3.   

      for(int i=0;i <list.size();i++) 
      { 
      array[i]=(int)list.get(i) ;//list要通过get()方法取里面的对象
    }   
    list[i]是list[]数组才能这么用
    List l =list[i];
      

  4.   


    list要用get()方法获得。list不是基本数据类型。
    看看java的API.
      

  5.   

    应该是这样
    for(int i=0;i <list.size();i++) 
      { 
      array[i]=(Integer)list.get(i) ;//List要通过get()方法取里面的对象 
    }  
    还有while(list.size() <8)应该改成while(list.size() <7)
    数组array会越界