web-dev-qa-db-ja.com

Java:int []配列とint array []

可能性のある複製:
int []配列とint配列[]の違い

違いはありますか

int[] array = new int[10];

そして

int array[] = new int[10];

両方とも機能し、結果はまったく同じです。どちらが速いですか?推奨するスタイルガイドはありますか?

55
xuma202

両方とも同等です。以下をご覧ください。

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()[]
{
    // ..
}
100
Eng.Fouad

これらは両方とも基本的に同じで、パフォーマンスに違いはありませんが、読みやすいので最初のケースをお勧めします。

int[] array = new int[10];

FROM JLS

[]は、宣言の開始時に型の一部として、または特定の変数の宣言子の一部として、またはその両方として表示されます。

8
PermGenError

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[ ][ ];
8
Shashi

両方とも同じです。タイプint[] array = new int[10];の読みやすさ(連続性)が優れているため、通常はint[]を使用します。

4
Sam

これら2つの宣言に違いはなく、両方のパフォーマンスは同じです。

2
sumit sharma

いいえ、違いはありません。しかし、読みやすいのでint[] arrayを使用することを好みます。

2
Harinder

実質的に違いはありません。

0

どちらの例でも、new int[10]を参照変数に割り当てています。

どちらの方法でも参照変数に割り当てると、パフォーマンスが等しくなります。

int[] array = new int[10];

上記の表記は、読みやすくするためのベストプラクティスと見なされます。

乾杯

0
Dennis Jaamann