ArrayList中的重复对象是对单个对象的引用?

 啊啊毛 发布于 2023-02-09 15:13

我有ArrayList一些我在其中定义的对象.根据一些标准,我想将第一个列表中的一些对象复制到第二个列表(开始为空),但是我复制的这些对象可以被复制多次(可以是重复的).

为简化示例,假设我的第二个列表仅包含2个重复的对象.对象a和b.

如果我修改对象a中的某些内容,该修改是否也会出现在对象b上?它只是一个传递的引用或它是一个对象的副本?

for( int i = 0; i < Selected.size(); i++)
            {
                double chance = random.nextInt(100);
                chance = chance/100;
                if( chance >= constCrossover ) 
                {
                    Cross.add(Selected.get(i)); 
                     //here i add items that might be duplicates
                }
            }

我将在交叉列表中进行进一步修改,我不希望重复的对象与每个人交互.

1 个回答
  • 始终是一个参考.表达式的值,数组中的值等始终是引用值或原始值.没有什么会隐式复制一个对象 - 你必须明确地这样做.

    (顺便说一句,你应该遵循Java命名约定 - Selected而且Cross应该是selectedcross.)

    2023-02-09 15:17 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有