我找不到一个舒适的阵列,它不使用自动装箱。我需要仔细看看内存大小,并且想要使用像int
这样的基本结构,而不是像Integer
那样的对象。有没有自动装箱的舒适阵列
使用int[]
,在固定尺寸/位置的事情上非常不舒服。但我不能使用像LinkedList
和ListArray
之类的东西,因为它们只能与Integer
而不是int
一起使用。
所以我想问一下,如果有任何舒适的阵列,可以使用原始数据结构,如int
,而不是Objects
。
我找不到一个舒适的阵列,它不使用自动装箱。我需要仔细看看内存大小,并且想要使用像int
这样的基本结构,而不是像Integer
那样的对象。有没有自动装箱的舒适阵列
使用int[]
,在固定尺寸/位置的事情上非常不舒服。但我不能使用像LinkedList
和ListArray
之类的东西,因为它们只能与Integer
而不是int
一起使用。
所以我想问一下,如果有任何舒适的阵列,可以使用原始数据结构,如int
,而不是Objects
。
你不能直接用Java集合来做,但有一些外部库实现了基本类型的集合。
例如,GNU Trove有TIntArrayList
和Apache Commons Primitives有ArrayIntList
。两者都适合您的需求。
简短回答是:不,Java默认不提供int
s。 ArrayList
只能包含Object
子类,并且原语不会继承Object
。
然而,你可以写自己的实现的List
上int
S或工作 - 最好 - 使用类似TIntArrayList。
'ArrayList'而不是'ListArray'? – ceztko
另外,我认为这是一个真正的Java [限制](http://stackoverflow.com/questions/2721546/why-dont-java-generics-support-primitive-types)。 – ceztko
你正在寻找的谷歌关键字是“原始类型集合”。 –