可能性のある複製:
int []配列とint配列[]の違い
違いはありますか
int[] array = new int[10];
そして
int array[] = new int[10];
?
両方とも機能し、結果はまったく同じです。どちらが速いですか?推奨するスタイルガイドはありますか?
両方とも同等です。以下をご覧ください。
int[] array;
// is equivalent to
int array[];
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()[]
{
// ..
}
これらは両方とも基本的に同じで、パフォーマンスに違いはありませんが、読みやすいので最初のケースをお勧めします。
int[] array = new int[10];
FROM JLS :
[]は、宣言の開始時に型の一部として、または特定の変数の宣言子の一部として、またはその両方として表示されます。
JLSから http://docs.Oracle.com/javase/specs/jls/se5.0/html/arrays.html#10.2
配列を作成しない配列変数の宣言の例を次に示します。
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
配列オブジェクトを作成する配列変数の宣言の例を次に示します。
Exception ae[ ] = new Exception[3];
Object aao[ ][ ] = new Exception[2][3];
int[ ] factorial = { 1, 1, 2, 6, 24, 120, 720, 5040 };
char ac[ ] = { 'n', 'o', 't', ' ', 'a', ' ',
'S', 't', 'r', 'i', 'n', 'g' };
String[ ] aas = { "array", "of", "String", };
[]は、宣言の先頭にある型の一部として、または特定の変数の宣言子の一部として、またはその両方として現れる場合があります。この例では:
byte[ ] rowvector, colvector, matrix[ ];
この宣言は次と同等です:
byte rowvector[ ], colvector[ ], matrix[ ][ ];
両方とも同じです。タイプint[] array = new int[10];
の読みやすさ(連続性)が優れているため、通常はint[]
を使用します。
これら2つの宣言に違いはなく、両方のパフォーマンスは同じです。
いいえ、違いはありません。しかし、読みやすいのでint[] array
を使用することを好みます。
実質的に違いはありません。
どちらの例でも、new int[10]
を参照変数に割り当てています。
どちらの方法でも参照変数に割り当てると、パフォーマンスが等しくなります。
int[] array = new int[10];
上記の表記は、読みやすくするためのベストプラクティスと見なされます。
乾杯