深深

来源:互联网 发布:quicksilver引擎知乎 编辑:程序博客网 时间:2024/05/01 06:15
数组的简介

       Java中的数组、是一种简单的线性数据存储结构、他用牺牲自动扩展大小来换取与集合相比的唯一优势——查询效率的提升。他本身是一种引用类型的数据、所以我们要使用数组就要首先声明、初始化他、而他的初始化的完成也就意味着此数组的大小将不再改变、而且具有初始值。当存储的是java原始基础类型时、默认值是不同基础类型值的默认值、当是引用类型时、如果我们没有指定具体的对象、则他的默认值是null。从数组的内部组成来看、觉得java中没有多维数组!所谓的多维数组其实就是一维数组的延伸、只是数组的值存放的是另一个数组的引用、依次深入、我们可以扩展到任意维度的数组、注意:数组的扩展的过程中只能存放相同类型或者子类型的数组!

        Java中的数组长度不变!存储的数据类型唯一!有时候我们会有种错觉觉得这两者都是不成立的、本质是因为java中继承的存在、我们定义的父类型的数组、他的数组元素也同样可以存放子类对象、这样就造成了数组存放对象可变的假象。当我们将数组的引用从一个对象改变到子类的对象的时候、感觉数组的长度变化、其实变的是引用指向的对象的长度、原来引用指向的对象长度没有变化、只是此对象被遗弃了而已、      

       对此只要记住一点:java中的数组时引用类型、当声明初始化一个对象时、数组的引用存放在栈内、实际对象存放在堆内存中、而我们平常所指的长度、类型都是具体对象的长度、类型!

        此外、Arrays是一个操作java数组的类、提供了一些非常实用的用于操作数组的类、还有就是java数组与集合比较相似。后面会有两者间的相互转换的方法。

原创粉丝点击