ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### [数组的存储](https://lingcoder.gitee.io/onjava8/#/book/03-Objects-Everywhere?id=%e6%95%b0%e7%bb%84%e7%9a%84%e5%ad%98%e5%82%a8) 许多编程语言都支持数组类型。在 C 和 C++ 中使用数组是危险的,因为那些数组只是内存块。如果程序访问了内存块之外的数组或在初始化之前使用该段内存(常见编程错误),则结果是不可预测的。 Java 的设计主要目标之一是安全性,因此许多困扰 C 和 C++ 程序员的问题不会在 Java 中再现。在 Java 中,数组使用前需要被初始化,并且不能访问数组长度以外的数据。这种范围检查,是以每个数组上少量的内存开销及运行时检查下标的额外时间为代价的,但由此换来的安全性和效率的提高是值得的。(并且 Java 经常可以优化这些操作)。 当我们创建对象数组时,实际上是创建了一个引用数组,并且每个引用的初始值都为**null**。在使用该数组之前,我们必须为每个引用指定一个对象 。如果我们尝试使用为**null**的引用,则会在运行时报错。因此,在 Java 中就防止了数组操作的常规错误。 我们还可创建基本类型的数组。编译器通过将该数组的内存全部置零来保证初始化。本书稍后将详细介绍数组,特别是在数组章节中。