为什么对象通过为每个对象分配不同状态的相同数组列表来获得相同的结果

问题描述 投票:0回答:0

在 Java OOP 中的对象方法中操作数组列表时出现问题,方法采用最后的状态 数组列表忽略我希望一个对象拥有数组的一些元素,而另一个对象拥有其他元素。

正如您在第一个示例代码中看到的,我有两个对象,我想通过该方法为它们提供同一数组列表的两个不同内容,因为它是在第二个示例代码上的我的方法中定义的,但是当我删除一个对象时从数组中获取对象,并使用第二个对象中的方法,目的是为其提供 arraylist 的元素,而不需要前面的第一个元素“folclore”,两个结果相同,两个对象都采用 arraylist 的最后一个状态以及该元素“folclore”出来了,(你可以在结果中看到),所以有可能解决它吗?

第一个示例代码:

ArrayList<Album> albuns = new ArrayList<Album>();
Collections.addAll(albuns, folclore, sedimentar,angry,sick,hungry,fever,fast,slow,happy,sad);
lilnas.setAlbuns(albuns);
albuns.remove(0);
filipe.setAlbuns(albuns);

第二个示例代码(方法):

public void setAlbuns(ArrayList<Album> albuns){
   this.albuns = albuns;
}

结果:

Filipe 专辑:

Sedimentar - 07/04/2023 - gravado - South Park
Angry - 07/07/2020 - Ao vivo - Quicks
Sick - 30/11/2015 - gravado - Batman
Hungry - 05/12/2019 - gravado - Flash
Fever - 05/03/2015 - gravado - Batman
Fast - 10/03/2020 - Ao vivo - Quicks
Slow - 07/07/2010 - gravado - North park
Happy - 04/09/2010 - gravado - North Park
Sad - 11/06/2019 - gravado - Flash

Lilnas 专辑:

Sedimentar - 07/04/2023 - gravado - South Park
Angry - 07/07/2020 - Ao vivo - Quicks
Sick - 30/11/2015 - gravado - Batman
Hungry - 05/12/2019 - gravado - Flash
Fever - 05/03/2015 - gravado - Batman
Fast - 10/03/2020 - Ao vivo - Quicks
Slow - 07/07/2010 - gravado - North park
Happy - 04/09/2010 - gravado - North Park
Sad - 11/06/2019 - gravado - Flash
java oop arraylist methods attributes
© www.soinside.com 2019 - 2024. All rights reserved.