java-基础-1.4 数组

来源:互联网 发布:网络育人工作心得体会 编辑:程序博客网 时间:2024/05/22 12:45

1.介绍
 一组相同类型的引用集合,
 长度固定,永远不可变,元素长度极限为 Integer.MAXVALUE,
 下标从0开始,元素最后一个值下标:Array.length-1
 
2.创建
 1.new String[]{};
 2.new String[int]
 3.{“”,”“};
 4.Array.newInstance(compareType,leng),适用于 泛型!

 数组的创建必须要长度,一旦初始化结束,长度将不可变! 初始化时,数组内元素将会自动初始化(给长度内每个元素都赋对应的默认值)

3.数组的类型
 1.数组中元素的类型可以是任意类型,包括 数组类型,数组组成的数组(多维数组)
 2.数组类型不是类,但是实例是类,继承Object类 实现Cloneable接口,同时还是实现 Serializable接口
 3.数组都有一个length字段表示长度,修饰符为 public final int,也就是说 不能通过修改length来改变数组长度,这点和js不同
 
4.数组类型放大,数组协变
 1.任意类型数组都可以放大类型
  Object,Cloneable,Serializable
 2.基本数组无法放大成除上述3种外
 3.引用类型,如果T能指定给S类型,那么T[]就能指定成S[]
 

并不推荐数组放大,因为// 这样写完全合法String[] words = {"Hello World!"};Object[] objects = words;objects[0] = new Integer(42);//运行时错误

 
5.数组的复制
 1.调用 clone()
 2.void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
 
6.数组的扩容
 1.本质上是替换是一个数组实例而非真正的扩容
 2.Arrays.copyOf(xxx[],newLen);

原创粉丝点击