在 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