JAVA基础-数组

1 数组标识符其实只是一个引用,指向在堆中创建的一个真实对象,这个数组用以保存指向其他对象的引用;对象数组和基本类型数组唯一区别就是:对象数组保存的是引用,基本类型数组保存的是基本类型的值

2数组与泛型:不能实例化具有参数类型的数组(样例如下图第三个红框),因为擦除会移除参数类型信息,而数组必须知道他们所持有的确切类型,但是你可以参数化数组本身(第一第二红框示例参数化数组本身),

  

当然,编译器不让实例化泛型数组,却允许创建对这种数组的引用(红框1),然后通过创建非泛型数组(红框2),并将其转型(红框3),红框4 展示一体化的创建泛型数组引用并将非泛型数组实例化对象转型为泛型数组对象;数组是协变类型,List<String>[] 也是Object[]

 

 3 arrays 的一些适用功能:

  (1)数组的比较:arrays 提供了重载后的equals()方法,对所有基本类型和Object类型都做了重载,数组判断相等条件是元素个数必须相等,并且对应位置元素也要相等,这是要通过对每个元素用equals()比较判断的

数组中保存的是引用类型equals重写如下,是对数组中类容的比较,而不是数组中保存的引用的比较,最后对每个元素比较是调用的object 的eauals()方法,

 

posted @ 2019-04-02 08:00  会飞的喵星人  阅读(216)  评论(0编辑  收藏  举报