gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 09:43:54 24 4
gpt4 key购买 nike

我有一个 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
}
}

我会在 Cross 列表中做进一步的修改,我不希望重复的对象相互交互。

最佳答案

总是一个引用。表达式的值、数组中的值等始终是引用或原始值。没有什么会隐式地复制一个对象——你必须显式地这样做。

(顺便说一句,您应该遵循 Java 命名约定 - SelectedCross 应该是 selectedcross.)

关于java - ArrayList 中的重复对象是对单个对象的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20653400/

24 4 0