gpt4 book ai didi

java - Java中的数组以及它们如何存储在内存中

转载 作者:IT王子 更新时间:2023-10-28 23:32:26 25 4
gpt4 key购买 nike

我正在尝试了解 java 中的数组设置。为什么必须在创建数组后为数组中的每个对象初始化空间。它是如何存储在内存中的:

[object][object]

或者像这样:

[*class]->[object]  
[*class]->[object]

换句话说,在内存中实际做了什么。 array[0] = new class() 是否只返回对内存中保留位置的引用,而 class[] array = new class[10] 语句会创建一些东西沿着 10 个指针的行,这些指针稍后由新语句分配?

最佳答案

Java 中的数组存储以下两种内容之一:原始值(intchar、...)或引用(也称为指针)。

因此,new Integer[10] 仅为 10 个 Integer 引用创建空间。它确实创建 10 个 Integer 对象(甚至是 10 个 Integer 对象的可用空间)。

顺便说一句,字段、变量和方法/构造函数参数的工作方式完全相同:它们也只存储原始值或引用。

关于java - Java中的数组以及它们如何存储在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5564423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com