gpt4 book ai didi

java - ArrayList 是可变的吗?

转载 作者:行者123 更新时间:2023-12-01 17:47:03 25 4
gpt4 key购买 nike

我有一个包含 Arraylist ArrayList<Move> moves 的类。我从另一个类调用该 Arraylist 的 getter 并添加一个 Action :panel.getMoves().add(move) 。但是当我随后迭代 Arraylist 时,出现了一些非常奇怪的错误,暗示移动未正确添加。

我需要打电话panel.setMoves(panel.getMoves().add(move))吗? ?如果是这样,为什么我一直认为列表是可变的?

最佳答案

这取决于 getMoves() 的实现方式。

它可以返回内部ArrayList的副本(您必须调用setMoves(ArrayList)才能更新它),或者发布对其的直接引用(你不需要 setter )。不过,后者表明封装不良。

ArrayList 类的任何实例都是可变的。它基本上是动态大小数组的包装。其元素可以修改。

关于java - ArrayList 是可变的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54007241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com