可能重复:
在Java集合中存储原始值?
ArrayList仅接受引用类型作为其元素,而不接受原始数据类型.尝试这样做时会产生编译时错误.
这背后的概念是什么?这似乎是一种限制,不是吗?
Java的所有集合类都存储它们收集的对象的内存位置.原始值不适合相同的定义.
为了避免这个问题,JDK5及其后续版本具有自动装箱功能 - 其中原语被转换为适当的对象,并在从集合中添加或读取时返回.
如果查看ArrayList源代码,它会使用Object数组来存储值.这是当您尝试将基元类型存储在集合中时发生自动装箱的原因之一.
因为Java只能使用类(而不是基本类型)和数组(也是基元的数组)来表示泛型(在<和>之间).
清单清单; 这也是为什么有原始类型的包装类的原因:
int - >整数
布尔值 - >布尔值
双 - >双
byte - > Byte等...
归档时间: |
|
查看次数: |
24388 次 |
最近记录: |