java - ArrayList 将空值传递给函数

标签 java list arraylist

我什至不知道该问什么,但我已经被困在这个问题上好几个小时了。我正在尝试在仅包含一个人或一个 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/

相关文章:

java - 将 ArrayList 转换为数组(有点不同)

java - Android 计费 - 在 production/alpha/beta 中使用 android.test.purchased 测试购买

java - 使用 HttpURLConnection 的 Android 应用程序在 connect() 处崩溃

java - 如何为 CDI/Weld 输出对象

python - Python 中使用不同分隔符连接列表

android - ArrayList<Object> 使用 getSerialized 问题到第二个 Activity

java - 如何在不加载额外代码的情况下在 ArrayList 中实现 Strings 和 SpannableStrings 的混合

java - 使用泛型时创建二叉搜索树类的实例?

python - 列表总和,不改变列表pandas的长度

python - 文件中组合元素的总和