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

当我在 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;

    }


}


holdtom
浏览 174回答 2
2回答

ABOUTYOU

因为那个构造函数接受一个int参数?除了编译错误之外,您还期望发生什么?有趣的是你不能创造array[Integer.MAX_VALUE]但是你可以:array[Integer.MAX_VALUE - 4]或者甚至是最后声明的数组中的 10 个,几乎是您不能声明的数组的 10 倍。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java