【问题标题】:In Java, defining an array allocates space for references or for the objects themselves?在 Java 中,定义数组是为引用分配空间还是为对象本身分配空间?
【发布时间】:2011-09-11 17:20:25
【问题描述】:

在下面这行代码中,编译器是分配内存来存储 10 个 MyClass 对象还是 10 个引用?

MyClass[] arr= new MyClass[10];

换句话说,数组是单独存储引用还是对象本身?

此外,原始类型的行为是否不同?

【问题讨论】:

    标签: java arrays memory reference


    【解决方案1】:

    它为引用分配空间。对于原始类型,它分配空间 = 数组长度 * 原始类型字节大小。

    【讨论】:

      【解决方案2】:

      这样创建时,数组会自动使用其类型的默认值进行初始化,因此 arr 会使用 10 个 null 引用进行初始化。

      【讨论】:

        猜你喜欢
        • 2011-04-17
        • 1970-01-01
        • 1970-01-01
        • 2018-03-26
        • 1970-01-01
        • 2011-07-06
        • 2017-06-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多