gpt4 book ai didi

java - 为 List> 分配空间

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

我目前正在尝试了解 Java 在我要求时如何分配空间。

具体来说(据我所知,我无法使用泛型声明数组)我做了这个分配:

List<List<Visitor>> elevlists;
elevlists = new ArrayList<List<Visitor>>(5);

因为我希望 elevlists 成为 5 个访客列表的列表。据我了解,此命令将为五个访问者列表腾出空间,而不会将它们放在那里。

所以我添加了这个,但它(并且我下划线)不起作用:

List<Visitor> (elevlists.get(0)) = new ArrayList<Visitor>();

看看我是否真的可以为任何列表创建一个实例。

但经过一些调整后,我结束了这段代码:

List<List<Visitor>> elevlists;
elevlists = new ArrayList<List<Visitor>>(5);
List<Visitor> temp = (elevlists.get(0));
temp = new ArrayList<Visitor>();

令我惊讶的是,编译器似乎没问题。

有什么帮助可以解释为什么这是可以接受的,而上面的代码却不能接受吗?

非常感谢。

最佳答案

ArrayList 不是数组。它是数组的包装器。

List<List<Visitor>> elevlists;
elevlists = new ArrayList<List<Visitor>>(5);

这里您只需创建一个包含 5 个元素的对象 ArrayList。但该数组内的所有元素均为 NULL。

正确的代码应该是:

List<List<Visitor>> elevlists;
elevlists = new ArrayList<List<Visitor>>(5);
List<Visitor> temp = new ArrayList<Visitor>();
elevlists.add(temp);

关于java - 为 List<List<MyObj>> 分配空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28029094/

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