gpt4 book ai didi

java - null 数组与 null 数组之间的区别

转载 作者:行者123 更新时间:2023-11-30 03:21:44 26 4
gpt4 key购买 nike

给出以下代码:

List<Object> arrayList = new ArrayList<Object>();
for(int counter=0; counter < 100; counter++) {
arrayList.add(null);
}

除了实例化的大小为 100 之外,“arrayList”与实际上为 null 的 List 有什么不同?

只是好奇。

谢谢。

最佳答案

首先要做的事情:一个 ArrayList<...>不是数组,ArrayList相当复杂,但使用数组作为支持数据结构。

现在回答你的问题:我想到的两个主要区别是:

  • 指向 null 的引用消耗的内存比实际的 ArrayList 少得多大小为 100。请注意,引用的大小相同,但引用指向 null不指向分配的内存。对于ArrayList 100 null条目,对 100 个 emelemt 的所有引用确实存在,但对 null 的引用,使其消耗更多内存。
  • 您无法调用 null 上的方法:

    List<Object> list1 = new ArrayList<Object>(100);
    list1.size(); // totally fine, will return 0
    List<Object> list2 = null;
    list2.size(); // throws a NullPointerException

关于java - null 数组与 null 数组之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31170065/

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