list集合存引用数据类型时的问题

发布时间:2020-07-05 16:29:12 作者:_追梦_
来源:网络 阅读:376

list集合存引用数据类型时的问题

集合list的存储元素:

(1)如果list中存的是基本数据类型,则存的是值

(2)如果list中存的是引用数据类型(如对象等),则存的是引用

如果对象的引用地址没变,内容变化,也会引起调用该对象时内容变化

下面举一个在集合list中存放对象的例子:

  //构建原始数据
        ArrayList<Goods> list = new ArrayList();
        Goods goods1=new Goods("plum ", 2);
        list.add(goods1);
        list.add(new Goods("apple", 1));
        list.add(new Goods("banana", 2));

        //打印原始数据
        System.out.println("原始数据:");
        for(Goods goods : list){
            System.out.println(goods);
        }
        goods1.setGoodsId(444);//改变goods1的内容
        System.out.println("原始数据1:");
        for(Goods goods : list){
            System.out.println(goods);
        }

结果:

原始数据:
Goods{goodsName='plum ', goodsId=2}
Goods{goodsName='apple', goodsId=1}
Goods{goodsName='banana', goodsId=2}
原始数据1:
Goods{goodsName='plum ', goodsId=444}
Goods{goodsName='apple', goodsId=1}
Goods{goodsName='banana', goodsId=2}

结果表明:由于list中存储对象的引用所指的内容发生了变化,所以导致了list中元素内容的改变

推荐阅读:
  1. 【MongoDB】查看数据库集合的占用空间,清理集合的冗存空
  2. List集合详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

list集合存引用数据类型时的问题 lis

上一篇:PowerShell直接调用.net静态类和方法

下一篇:一个英雄类的创建

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》