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

发布于 2022-09-02 01:41:37 字数 414 浏览 29 评论 0

本人做法如下:

 Object date=pagelist.getResult();
  ArrayList<Jibing> list =(ArrayList<Jibing>)date;//jibing 是实体类
     if (list != null && list.size() > 0)
        {
            for (int i = 0; i < list.size(); i++)
            {               
                Jibing m = (Jibing)list.get(i);//报错

问题, 最后一句报错,怎么获取list 中的数据?
请大神赐教,感激不尽!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

怪我鬧 2022-09-09 01:41:37

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

悲欢浪云 2022-09-09 01:41:37

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

夜还是长夜 2022-09-09 01:41:37

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

夜未央樱花落 2022-09-09 01:41:37

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);//报错
    }
}
白况 2022-09-09 01:41:37

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文