标签: java arrays
例如,我收到错误"无法从long转换为int"在尝试跟随时
long size = 32; int a[] = new int[size];
Java将数组大小限制为int,这限制了我创建最多约20亿个元素。
int
为什么我们有此限制?
答案 0 :(得分:1)
每个数组都有length,并且在JLS-10.7中指定它是int。
length
公共最终字段长度,包含数组的组件数。长度可以是正数或零。
public final int length = X ;
答案 1 :(得分:1)
根据Java语言规范15.10
数组创建表达式中的维度表达式必须在编译时可转换为int类型。类型long在编译时不能转换为int,因此会导致编译错误。