我最近一直在思考定义数组的两种方式之间的区别:
int[]数组 int[]数组
有区别吗?
我最近一直在思考定义数组的两种方式之间的区别:
int[]数组 int[]数组
有区别吗?
当前回答
是的,有区别。
Int [] a = new Int [100];// 'a'本身不是数组,数组存储为地址 在内存的其他地方,'a'只保存该地址
Int b[] = new Int [100];//当创建像cleary这样的数组时,显示'b'是一个数组,并且它 整数类型。
其他回答
它们是一样的,但它们之间有一个重要的区别:
// 1.
int regular, array[];
// 2.
int[] regular, array;
在1。Regular只是一个int,而不是2。其中regular和array都是int类型的数组。
因此,你的第二种说法更可取,因为它更清楚。根据Oracle的本教程,第一种表单也不建议使用。
不,这些是一样的。然而
byte[] rowvector, colvector, matrix[];
等价于:
byte rowvector[], colvector[], matrix[][];
摘自Java规范。这意味着
int a[],b;
int[] a,b;
是不同的。我不推荐这两种声明。最容易读的(可能)是:
int[] a;
int[] b;
它们完全相等。Int[]数组是首选样式。int array[]只是作为等效的c兼容样式提供。
有一个细微的区别,如果你碰巧在同一个声明中声明了多个变量:
int[] a, b; // Both a and b are arrays of type int
int c[], d; // WARNING: c is an array, but d is just a regular int
注意,这是一种糟糕的编码风格,尽管编译器几乎肯定会在您尝试使用d时捕捉到您的错误。
是的,有区别。
Int [] a = new Int [100];// 'a'本身不是数组,数组存储为地址 在内存的其他地方,'a'只保存该地址
Int b[] = new Int [100];//当创建像cleary这样的数组时,显示'b'是一个数组,并且它 整数类型。