我注意到当你创建一个数组时,它只能达到int的大小,因为这是它唯一接受的东西。如何创建一个适合长尺寸的?
答案 0 :(得分:4)
你可以使用二维数组。
E.g。
Object[][] objects = new Object[Integer.MAX_VALUE][Integer.MAX_VALUE];
答案 1 :(得分:2)
目前,Java语言规范将Java数组限制为int
索引。 (见section 10.4, "Array Access"。)
在Java 7之前允许long
索引proposed as part of Project Coin,但提案was not accepted。
另一种方法是使用表示支持长索引的元素向量的对象。
答案 2 :(得分:0)
根据Java语言规范(请参阅:http://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html),您只能使用int
(或short
,byte
或{ {1}},为此目的被视为char
。
请记住,使用long索引数组的需要假设您将拥有> ~2演出可用的连续内存。根据您的垃圾收集策略和总分配内存,这可能很难实现。
答案 3 :(得分:0)
您只能基于多个数组创建一个BigArray类,并且它将具有带长参数的set / get方法。