我最近一直在思考定义数组的两种方式之间的区别:

int[]数组 int[]数组

有区别吗?


当前回答

不,这些是一样的。然而

byte[] rowvector, colvector, matrix[];

等价于:

byte rowvector[], colvector[], matrix[][];

摘自Java规范。这意味着

int a[],b;
int[] a,b;

是不同的。我不推荐这两种声明。最容易读的(可能)是:

int[] a;
int[] b;

其他回答

没有真正的区别;然而,

double[] items = new double[10];

首选,因为它清楚地表明类型是数组。

没有区别。

引用孙杨的话:

[]可以作为类型的一部分出现在声明的开头,也可以作为特定变量的声明器的一部分出现,或者两者都有,如本例所示:byte[] rowvector, colvector, matrix[]; 此声明等价于: 字节行向量[],共向量[],矩阵[][];

这两种类型的声明在功能上没有区别。两者都声明数组为int。

但是int[] a将类型信息保存在一起,更详细,所以我更喜欢它。

两者的意思是一样的。然而,这些变量的存在也允许:

int[] a, b[];

也就是:

int[] a;
int[][] b;

然而,这是一种可怕的编码风格,不应该这样做。

它是从java所基于的C语言中借来的一种替代形式。

有趣的是,在java中有三种方法来定义一个有效的main方法:

public static void main(String[] args) public static void main(字符串args[]) public static void mainargs)