为了账号安全,请及时绑定邮箱和手机立即绑定

用户定义类的数组大小为长类型时的编译错误

用户定义类的数组大小为长类型时的编译错误

holdtom 2021-07-16 18:15:43
当我在 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 倍。


查看完整回答
反对 回复 2021-07-23
  • 2 回答
  • 0 关注
  • 173 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信