JAVA中关于数组的定义

前些日子,有网友问:在JAVA中 int[] a 这样定义的数组和 int a[] 定义的数组有什么区别?html

当时没有细看,直接回复说,在JAVA中,二者是同样的,没有区别。java

回头仔细看时,仍是稍有区别的。编程

按照正常的JAVA编程规范,先定义类型 而后是变量名结束,由此说来 int[] a 是符合JAVA定义变量规范的(推荐用法);而 int a[] 则多是为了兼容C++中的变量定义数组

因此,来看下面几个数组定义的区别:oracle

int[] a;
int b[];

int[] c [];

int[] d,e;

int f,g[];

int[] h,i,j[];

这样定义的代码看起来还有有点儿迷惑性的,哪些不是数组?哪些是1维数组?哪些是二维数组?spa

咱们看看《The Java® Language Specification》上关于数组的定义,就能明白了。code

 

 

书皮封面,可从Oracle官网下载:http://docs.oracle.com/javase/specs/index.htmlhtm

书中第10章节 Arrays 的 第二小节 10.2 Array Variables中,blog

因而可知,按照JAVA规范来是可以具备更加友好的代码阅读性的。ci

以上代码的等价关系:

int[] a;           // = int[] a;
int b[]; // = int[] b; int[] c []; // = int[][] c; int[] d,e; // = int[] d; int[] e; int f,g[]; // = int f; int[] g; int[] h,i,j[]; // = int[]h; int i[]; int[][] j;
相关文章
相关标签/搜索