cari

Rumah  >  Soal Jawab  >  teks badan

反射 - java ,将 object类型转换为 ArrayList<> 类型?

伊谢尔伦伊谢尔伦2810 hari yang lalu726

membalas semua(5)saya akan balas

  • 阿神

    阿神2017-04-17 17:00:01

    强转容易报错,要确定 data 适合强转
    具体要实现什么功能?

    balas
    0
  • 巴扎黑

    巴扎黑2017-04-17 17:00:01

    list.get()打上括号啊,执行顺序明显不对。

    balas
    0
  • PHPz

    PHPz2017-04-17 17:00:01

    Jibing m = (Jibing)list.get(i);这句前面的强转是多余的,list本身存的就是就是Jibing。报错应该就是ClassCastException,那么问题就是出在了ArrayList<Jibing> list =(ArrayList<Jibing>)date;这句,说明date是一个集合,但是集合里面不是Jibing,所以你可以强转成ArrayList,但是当你获取里面的元素时就不能强转成Jibing了。

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 17:00:01

    Object date=pagelist.getResult();
    返回类型要明确,不要强转,鬼知道返回的类型是什么
    使用泛型吧

    public class ServiceResult<T>{
        private String resultMsg="";
        private int resultCode="";
        private T result;
        public T getResult(){
            return result;
        }
        public void setResult(T returnObj){
            this.result=returnObj;
        }
    }
    ...
    ServiceResult<ArrayList<Jibing>> date=pagelist.getResult();
    ArrayList<Jibing> list = date.getResult();
    if (list != null && list.size() > 0)
    {
        for (int i = 0; i < list.size(); i++)
        {               
            Jibing m = (Jibing)list.get(i);//报错
        }
    }

    balas
    0
  • ringa_lee

    ringa_lee2017-04-17 17:00:01

    看你date最终返回出来的是什么类型,根据类型去转换。

    balas
    0
  • Batalbalas