可能重复:
Difference between int[] array and int array[]int [] x;有什么区别?和int x [];?
我确信,这个问题已经被问,只是题写了书名找到它,但让我吃惊的事实并非如此。我正在研究一个问题,并提出了这个问题。我试过这个:
int[] x = new int[1];
int y[] = new int[1];
x=y;
y=x;
和编译器没有给我一个错误。那么这两个声明有什么区别?
可能重复:
Difference between int[] array and int array[]int [] x;有什么区别?和int x [];?
我确信,这个问题已经被问,只是题写了书名找到它,但让我吃惊的事实并非如此。我正在研究一个问题,并提出了这个问题。我试过这个:
int[] x = new int[1];
int y[] = new int[1];
x=y;
y=x;
和编译器没有给我一个错误。那么这两个声明有什么区别?
没有区别。
这只是从C过渡到更简单的语法糖。在Java int[] x
是首选(和推荐)符号。
没有,这只是一个品味问题。有些人更喜欢把它放在聚合类型的旁边(因为觉得它是类型的一部分),另一些人则倾向于将它与变量名放在一起(因为它更接近访问语法)。
谢谢,我也这么认为,但必须确保。 – shift66
虽然每行定义多个变量(引用的部分已经提示),但它们有区别。即'int a [],b;'与'int [] a,b;'不一样,这可能是意想不到的。 Imho最好不要使用第二个变体,因为它可能会导致混淆。这实际上是来自C和iirc Bloch的遗产,或者后来说他遗憾地将其包含在语言中 - 但可能是错误的。 – Voo
@Voo:好的评论,我还没有想到。虽然我通常不认为在一行中声明几个变量是一个好主意,尤其是如果它们的类型与本示例中不一样... –