gpt4 book ai didi

java - Java 集合中的原始数组

转载 作者:行者123 更新时间:2023-11-30 11:34:24 25 4
gpt4 key购买 nike

当我使用在 Java 中保存原始数组的泛型实现 Collection 时,实际上存储在数组中的是什么?使用泛型定义集合意味着我只能存储一个对象,如果我要这样做 ArrayList<Integer>我可以添加 int但这被自动装箱到 Integer .

如果我要定义 ArrayList<int[]>它完全合法,因为数组是对象。我不确定我实际上最终存储在集合中的是 Integer[]因为编译器执行一些转换并将使用自动装箱添加到数组或者如果我可以存储 int[]集合将存储原始数组,因为数组本身是一个对象。

最佳答案

ArrayList<int[]>将存储基元数组。不会涉及自动装箱。

在 Java 中,任何类型的数组(无论是否为原始类型)都是一个对象,因此与泛型兼容。

甚至有可能无意中得到一个 int[] 的容器,如昨天这个有趣的问题所示:Java containsAll does not return true when given lists

关于java - Java 集合中的原始数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15678972/

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