存入session: 
ArrayList <classA类型>   listvalue=..... Session().setAttribute("listname",listvalue); 取: 
listvalue=   (ArrayList <classA> )   Session().getAttribute("listname"); 
classA[]   classa=(classA[])   listvalue.toArray(new   classA[]   {}); 
最后一句为什么会出错:java.lang.ArrayStoreException(   向一个对象数组存放一错误类型的对象) 
我用的是java

解决方案 »

  1.   

    List具有和数组相类似的功能。
    只不过想得到它里面的对象元素一般都用迭代器实现,迭代输出,迭代出来的元素是Object类型的,需要把每个元素转换成指定类型。然后再存储。
      

  2.   

    ArrayList里面元素的类型错误,可以做个下面的测试啊:
    import java.util.ArrayList;public class Test{
    public static void main(String[]args){
    ArrayList al = new ArrayList();
    al.add("ss");
    al.add(new Integer(1));
    String[] strArray=(String[])al.toArray(new String[]{});
    System.out.println(al);
    }
    }会报同样的错:
    Exception in thread "main" java.lang.ArrayStoreException
    at java.lang.System.arraycopy(Native Method)
    at java.util.ArrayList.toArray(ArrayList.java:304)
    at Test.main(Test.java:8)
      

  3.   

    用循环把List集合里的值取出来再赋给变量不就行了
      

  4.   

    我现在想知道一种解决方案,7楼朋友说“用循环把List集合里的值取出来再赋给变量不就行了 ”,这样也是不可以的。靛每一条在类型转换时会出错我存时和取时的强转类弄是一致的