java数组,类数组和数据类型数组有什么区别
332
java数组,类数组和数据类型数组有概念上的区别,数组是由相同类型的元素组成并具有固定长度的有序集合;而类数组指包含length属性或可迭代的对象;数据类型数组本身指的就是数组。此外,类数组不具有数组所具有的方法。
1.数组是什么
数组是由相同类型的元素组成并具有固定长度的有序集合,主要特性:
- 数组是值类型、支持多维数组;
- 长度是数组的一部分,不能改变,不同长度的数组是不同的类型,元素个数必须大于0且不能超过数组的长度;
- 数组不需要显式的初始化,直接可以使用;
- 通过索引访问或修改数组及切片,不能越界、没有负索引;
- 通过for-ragne遍历数组、len与cap函数分别获取数组的长度与容量;
- 相同类型和长度的数组是可以比较的;
- 数组是连续的内存分配,迭代和移动非常快速。
2.类数组是什么
类数组指包含length属性或可迭代的对象。类数组都不存在数组的原型方法,但当类数组需要调用数组方法去做任何事情时,可以通过以下方式:一是利用call,apply进行方法借用,借用数组的各自方法;二是将类数组转换为数组,然后再调用数组方法。
类数组不具有数组所具有的方法,数组遍历可以用for in和for循环,类数组只能用for循环遍历。
延伸阅读
基本数据类型和引用数据类型有什么区别
java中的数据类型分为两大类,即基本数据类型与引用数据类型,这两者主要有以下三个区别:
1.数据种类不同
基本数据类型只有8种,分别是:整数类型long、int、short、byte;浮点类型float、double;字符类型char;布尔类型boolean。
引用数据类型非常多,大致包括:类、接口、数组、枚举、注解、字符串等。例如,String类型就是引用类型。简单来说,所有的非基本数据类型都是引用数据类型。
2.存储位置的区别
在方法中定义的非全局基本数据类型变量的具体内容是存储在栈中的。
只要是引用数据类型变量,其具体内容都是存放在堆中的,而栈中存放的是其具体内容所在内存的地址。
3.传递方式的区别
在方法中定义的非全局基本数据类型变量,调用方法时作为参数是按数值传递的;引用数据类型变量,调用方法时作为参数是按引用传递的,传递的是引用的副本。

