默认情况下,当我们创建一个未指定 size 的 arrayList 时,它会在内存中创建一个包含 10 个元素的数组,但我的问题是,如果我们创建类似 List lst = new ArrayList();
内存中会为 lst 保留多少字节?
默认情况下,当我们创建一个未指定 size 的 arrayList 时,它会在内存中创建一个包含 10 个元素的数组,但我的问题是,如果我们创建类似 List lst = new ArrayList();
内存中会为 lst 保留多少字节?
ArrayList 的默认容量与泛型无关。
如果您不指定其容量,则默认为 10 的容量。将创建一个包含 10 个元素的 Object 数组,并用空值填充。
对象数组只是对象引用的数组。
对象引用的内存成本取决于程序运行的平台(通常在 64 位操作系统上为 8 个字节,在 32 位操作系统上为 4 个字节)。
Java 泛型被删除(未具体化)。实例构造为
new ArrayList()
new ArrayList<Object>()
new ArrayList<Integer>()
在运行时是相同的。