我注意到当你创建一个数组时,它只能达到一个 int 的大小,因为这是它唯一接受的东西。我如何创建一个适合长尺寸的?
问问题
731 次
4 回答
4
您可以使用二维数组。
例如
Object[][] objects = new Object[Integer.MAX_VALUE][Integer.MAX_VALUE];
于 2013-05-03T02:48:24.880 回答
2
目前,根据 Java 语言规范,Java 数组仅限于int
索引。(参见第 10.4 节,“数组访问”。)
在 Java 7 之前,允许long
索引作为 Project Coin 的一部分被提议,但该提议未被接受。
另一种方法是使用表示支持长索引的元素向量的对象。
于 2013-05-03T02:44:40.837 回答
0
您只能基于多个数组创建一个 BigArray 类,并且该类将具有带有长参数的 set/get 方法。
于 2013-05-03T04:08:37.583 回答
0
根据 Java 语言规范(参见:http ://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html ),您只能使用 a int
(或 a short
, byte
,或char
, 被视为int
为此目的)。
请记住,使用 long 索引到数组的需要假设您将拥有 > ~2 gigs 的可用连续内存。根据您的垃圾收集策略和分配的总内存,这可能难以实现。
于 2013-05-03T02:54:00.283 回答