Java 数组总是存在被设定的默认值。
声明一个数组变量仅产生了一个数组引用(也可叫指针),但未分配数组的存储空间,一个数组的大小将在数组使用new关键字真正创建时被给定。
数组变量本身仅仅是一个引用,数组的内存要用 new 运算符来分配。定义数组变量的时候不能(也不必)指定数组大小,数组的大小是在分配数组内存时才确定的。以下是定义数组的几种方法:
int[] array1 = new int[3]; //声明一个大小为3的数组
int[] array2 = new int[]{1, 2, 3}; //声明数组同时分配内存
用以下方法定义数组是错误的:
int[3] array3 = new int[3]; //数组变量不必指定大小,编译错误
int[] array4 = new int[3]{1, 2, 3}; //数组大小由初始化列表中元素个数决定,编译错误
拷贝数组应当使用 System.arrayCopy() 函数以提高效率,相对于用循环来拷贝数组,System.arrayCopy()执行效率更高,这是因为它是一个原生(native)函数,可以直接高效地将 ”源array” 的数据复制到 ”目标array”。
声明一个数组变量仅产生了一个数组引用(也可叫指针),但未分配数组的存储空间,一个数组的大小将在数组使用new关键字真正创建时被给定。
数组变量本身仅仅是一个引用,数组的内存要用 new 运算符来分配。定义数组变量的时候不能(也不必)指定数组大小,数组的大小是在分配数组内存时才确定的。以下是定义数组的几种方法:
int[] array1 = new int[3]; //声明一个大小为3的数组
int[] array2 = new int[]{1, 2, 3}; //声明数组同时分配内存
用以下方法定义数组是错误的:
int[3] array3 = new int[3]; //数组变量不必指定大小,编译错误
int[] array4 = new int[3]{1, 2, 3}; //数组大小由初始化列表中元素个数决定,编译错误
拷贝数组应当使用 System.arrayCopy() 函数以提高效率,相对于用循环来拷贝数组,System.arrayCopy()执行效率更高,这是因为它是一个原生(native)函数,可以直接高效地将 ”源array” 的数据复制到 ”目标array”。