无法在java中声明长数组

无法在java中声明长数组,java,arrays,Java,Arrays,代码: Eclipse给了我一个错误 但是: 这不是。我想要一个long的范围,所以我想要一个long数组。数组将包含long值,但是数组大小只接受int。数组大小应该是使用int的状态。不能使用long。 因此,您可以拥有的最大2D阵列是 long[][] results = new long[(int) Height][(int) Height]; Integer.MAX_值为2147483647 因此,如果您想获得更多数据,那么最好寻找其他数据结构我要补充的是,即使对高度进行了强制转换,

代码:

Eclipse给了我一个错误 但是:


这不是。我想要一个long的范围,所以我想要一个long数组。数组将包含long值,但是数组大小只接受int。数组大小应该是使用int的状态。不能使用long。 因此,您可以拥有的最大2D阵列是

long[][] results = new long[(int) Height][(int) Height];
Integer.MAX_值为2147483647


因此,如果您想获得更多数据,那么最好寻找其他数据结构

我要补充的是,即使对高度进行了强制转换,数组的行为仍然像一个长数组。我希望numbers@user3856587为什么需要94109400个元素的数组?这可能不适合内存。可能您需要数组的长度,而不是大小?通常,Java中的变量大小写应该较低,例如高度。请澄清您的意思,我希望有一个长的范围。多个副本,还包括。
long[][] results = new long[(int) Height][(int) Height];
long[][] results = new long[Integer.MAX_VALUE - 1][Integer.MAX_VALUE -1];