把错误信息贴出来看看,我估计可能会出造型错误。还有你没有考虑List list=query.selectQuery(sql)值为null的情况,如果为null,做list.size()会出错;在循环中arrayList = new ArrayList(),明显的逻辑错误,循环做完了,你的arrayList里还是只有一个元素。

解决方案 »

  1.   

    不能把arrayList.toArray()返回的Object[]强制转换为String[]只能得到Object[]因为在Java中,数组是一种对象,它的父类是Object
      

  2.   

    arrayList=new ArrayList();
        arrayList.add(mailAddress);
       
    这是什么意思呀?
    到最后你的arraylist里只有最后一条?
    干嘛加一条之前把以前的清空呢?
      

  3.   

    String []sendTo=(String[])arrayList.toArray();
    String[] sendTo=(String[])arrayList.toArray();
      

  4.   

    刚才我的new ArrayList()应该放在循环的外面?
      

  5.   

    不能把arrayList.toArray()返回的Object[]强制转换为String[]只能得到Object[]因为在Java中,数组是一种对象,它的父类是Object
    --------------------------对,你不能把整个返回的数组造型。你需要把array里边的对象造型。
      

  6.   

    一般Object[]就行了,使用其中元素时再将该元素造型成特定类型
      

  7.   

    在java核心技术 【原理】里是这么说的:如果转换根本没有成功的可能,那么编译器不会允许进行造型转换,会导致一个编译时的错误。所以
    1。造型转换必须在继承层次内进行。
    2。在从超类到子类的转换之前要记得先使用instance操作符进行检查。