在写函数返回数组元素时遇到这样的语句:
return new int[] {1,2};
对其中{1,2}的语义难以理解,因为只见过 new int[2] 和int[] arr = {1,2}。放在一起就不认识了。
可以通过对其拆分来解释语义:
####1,什么是数组
An array is a container object that holds a fixed number of values of a single type.
数组是一个存放固定数量的单一类型的容器对象。
####2,数组的声明,定义和初始化
// declares an array of integers 声明一个整型数组
int[] anArray;
这个语句由两部分组成,一个是数组类型int,标明数组内存放的元素的类型,这里可以是任意其他类型,如double,string等。[]符号表示该元素是一个数组。一个是数组名anArray。
// create an array of integers 创建一个数组
anArray = new int[10];
// 给数组元素指定初始值的方式来创建一个数组
int[] anArray = {
100, 200, 300,
400, 500, 600,
700, 800, 900, 1000
};
下面两句具有同样的效果
String[] array = {"element1","element2","element3"};
String[] array = new String[] {"element1","element2","element3"};
解析:
new int[2];
意思是申请一个存放int类型元素的数组空间,数组长度是2,采用默认值初始化,两个元素的值为0。
new int[] {1,2};
{}定义数组元素的内容,数组的长度是2,两个元素的值为1,2.