Java:int[]数组与int数组[]

Java:int[]数组与int数组[],java,arrays,performance,definition,Java,Arrays,Performance,Definition,两者之间有区别吗 int[] array = new int[10]; 及 ? 两者都起作用,结果完全相同。哪一个更快或更好?有没有推荐的样式指南?它们基本相同,在任何类型的性能上都没有区别,但是推荐的样式是第一种,因为它更具可读性 int[] array = new int[10]; 发件人: []可能作为类型的一部分出现在 声明,或作为特定变量的声明器的一部分, 或者两者兼而有之 实际上没有区别。不,没有区别。但是我更喜欢使用int[]array,因为它更具可读性。两者都是相同的。 in

两者之间有区别吗

int[] array = new int[10];

?


两者都起作用,结果完全相同。哪一个更快或更好?有没有推荐的样式指南?

它们基本相同,在任何类型的性能上都没有区别,但是推荐的样式是第一种,因为它更具可读性

int[] array = new int[10];
发件人:

[]可能作为类型的一部分出现在 声明,或作为特定变量的声明器的一部分, 或者两者兼而有之


实际上没有区别。

不,没有区别。但是我更喜欢使用
int[]array
,因为它更具可读性。

两者都是相同的。
int[] array = new int[10];
我通常使用
int[]array=newint[10],因为JLS的类型
int[]

具有更好的(连续的)可读性

以下是不创建数组的数组变量声明示例:

int[ ] ai;          // array of int
short[ ][ ] as;         // array of array of short
Object[ ]   ao,     // array of Object
        otherAo;    // array of Object
Collection<?>[ ] ca;        // array of Collection of unknown type
short       s,      // scalar short 
        aas[ ][ ];  // array of array of short
[]可能作为类型的一部分出现在声明的开头,或者作为特定变量的声明符的一部分出现,或者两者都出现,如本例所示:

byte[ ] rowvector, colvector, matrix[ ];
此声明相当于:

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

在这两个示例中,您都将
新int[10]
赋值给引用变量

无论以哪种方式分配给引用变量,性能都是相同的

int[] array = new int[10];
上述符号被认为是可读性的最佳实践


欢呼声

两者都是相等的。请看以下内容:

int[] array;

// is equivalent to

int array[];

这两个声明之间没有区别,并且都有相同的性能。

官方建议:第二个符号是“Yechh”:@assylias我认为Yechh指的是执行int[]a[],而不是int[]a[]。这是相关的,但与OP询问的内容不完全相同。JLS的最新版本在这一问题上更为明确:我个人认为使用
[]
的灵活性可能会令人困惑,并且应该更加一致(和严格)。如果您扩展答案,会更好。谁建议这样做?对我来说,第二个更具可读性。
int[] array = new int[10];
int var, array[];

// is equivalent to

int var;
int[] array;
int[] array1, array2[];

// is equivalent to

int[] array1;
int[][] array2;
public static int[] getArray()
{
    // ..
}

// is equivalent to

public static int getArray()[]
{
    // ..
}