当我在 Java 上工作时,我试图创建一个 Node 类数组。为了指定大小,我之前使用过 int,它工作正常,但是当我更改为 long 时,它给了我编译错误。请检查下面的代码。public class Simple { long maxsize = 7657567579l; // it fails when i tried to use value out-of-range of int Node[] nudes = new Node[maxsize]; public static void main(String[] args) { Simple simple = new Simple(); }}class Node { public Object data; public long next; public Node(Object data, long next) { super(); this.data = data; this.next = next; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } public long getNext() { return next; } public void setNext(int next) { this.next = next; }}
2 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
因为那个构造函数接受一个int
参数?除了编译错误之外,您还期望发生什么?有趣的是你不能创造
array[Integer.MAX_VALUE]
但是你可以:
array[Integer.MAX_VALUE - 4]
或者甚至是最后声明的数组中的 10 个,几乎是您不能声明的数组的 10 倍。
添加回答
举报
0/150
提交
取消