我什至不知道该问什么,但我已经被困在这个问题上好几个小时了。我正在尝试在仅包含一个人或一个 ArrayList(“伪装成客户”)的 bookFlight 类中创建一个对象 (NodeReservation)。但是,此对象 (NodeReservation) 是使用空 ArrayList 创建的。为什么会这样?
这是 bookFlight 类的重要部分:
void bookFlight(ArrayList<Persone> group) {
NodeReservation newReservation = new NodeReservation(new Group(group));
类Group如下:
public class Group extends Client{
ArrayList<Persone> group;
public Group(ArrayList<Persone> group) {
this.group = new ArrayList<Persone>();
}
Client 只是一个空类,所以我可以将它用于 Person 类(也扩展到 Client),但两种类型的对象都以同一个哈希表结尾。
NodeReservation 类:
public class NodeReservation {
NodeReservation next;
Client client;
public NodeReservation(Client client) {
this.client = client;
next = null;
}
最佳答案
public Group(ArrayList<Persone> group) { this.group = new ArrayList<Persone>(); }
此代码完全忽略了 group
参数。如果你想复制它,你必须将它传递给 ArrayList
构造函数:
this.group = new ArrayList<>(group);
在那之后,group
field 将是与 group
参数不同的 ArrayList
对象,但它包含相同顺序的相同元素。添加或删除一个元素不会影响另一个。
关于java - ArrayList 将空值传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52572226/