搜尋

首頁  >  問答  >  主體

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

伊谢尔伦伊谢尔伦2810 天前727

全部回覆(5)我來回復

  • 阿神

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

    強轉容易報錯,要確定 data 適合強轉
    具體要實現什麼功能?

    回覆
    0
  • 巴扎黑

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

    list.get()打上括號啊,執行順序明顯不對。

    回覆
    0
  • PHPz

    PHPz2017-04-17 17:00:01

    Jibing m = (Jibing)list.get(i);這句前面的強轉是多餘的,list本身存的就是Jibing。報錯應該就是ClassCastException,那麼問題就是出在了ArrayList list =(ArrayList)date;這句,說明date是一個集合,但是集合裡面不是Jibing,所以你可以強轉成ArrayList,但是當你取得裡面的元素時就不能強轉成Jibing了。

    回覆
    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);//报错
        }
    }

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-17 17:00:01

    看你date最後回來的是什麼類型,根據類型去轉換。

    回覆
    0
  • 取消回覆