java – 将’int’转换为’long’或使用’long’访问太长的数组

假设我有一个足够长的数组,可以用int访问它的任何索引,有没有办法用long来访问这样一个数组的索引?以及Java如何处理这种数组?例:

int[] a = new int[]{1,5,2,4........9,2,1}

假设在上面的数组中,9,2,1处于超出int(231)范围的索引处.
我如何访问这些元素?

最佳答案
你不会 – 数组索引在Java中总是int值.它不允许具有多于Integer.MAX_VALUE元素的数组.

数组的长度由length字段表示,其类型为int.因此,无法创建长度大于Integer.MAX_VALUE的数组.

spec没有明确地将其调出,但您可以从涉及的类型中推断出来.

转载注明原文:java – 将’int’转换为’long’或使用’long’访问太长的数组 - 代码日志