1

我注意到当你创建一个数组时,它只能达到一个 int 的大小,因为这是它唯一接受的东西。我如何创建一个适合长尺寸的?

4

4 回答 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 回答