假设我想要一个4 int的数组
离。
int[] iA = {32,33,34,35};
这个数组会占用更多内存而不是将它们声明为单独的Int吗?
离。
int i0 = 32;
int i1 = 33;
int i2 = 34;
int i3 = 35;
答案 0 :(得分:2)
每个int都是原始数据类型,其大小在http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html中定义。
数组是一个对象,带来一些开销。关于如何在how calculate java array memory usage中找到Java对象的大小,有一个很好的讨论。
答案 1 :(得分:2)
节省空间不应该是影响您决定的第一个问题。你应该想到这些问题的答案:
int
的数量可能会在未来发生变化 - 如果答案为“是”,那么您需要一个数组。3
,你是否需要能够访问{{} 1}?如果答案是“是”,那么你肯定需要一个数组。要回答你的问题,数组会占用一些额外的内存字节,因为Java需要为数组对象本身分配空间。当i3
的数量很小时,这种开销很明显,但随着阵列的增长,它很快就会下降。
答案 2 :(得分:1)
单个int将占用更少的内存,因为有