less than 1 minute read

array reference

可以用这么一种观点审视数组:数组其实是一个特殊的类,我们在声明数组时得到的是数组对象的引用。

int[] a; // 得到的 a 是 int[] 对象的一个引用
int[5] a; //syntax error

从引用的角度来说,声明引用时也没必要知道 int[] 的 length:那是 int[] 对象的事情,与引用本身没有关系。

还有一种形式可以用来声明数组引用,但不能直接接上初始化:

int[] c = new int[x]; // x 可以是变量、常量、magic number、表达式……只要能产生一个 value 即可  
int[] d = new int[x] {……}; // syntax error

initialization of an array

数组的初始化只能通过 {...} 来进行,有 2 种方式:

int[] a = {1, 2, 3};  
int[] b = new int[] {1, 2, 3};  

其中 new int[] {...} 形式可以像 new Object() 一样可以传递给方法作参数,如:

method(new int[] {1, 2});  

Categories:

Updated:

Comments