[java] int [] 배열과 int 배열 []의 차이점

최근 배열을 정의하는 두 가지 방법의 차이점에 대해 생각했습니다.

  1. int[] array
  2. int array[]

차이가 있습니까?



답변

그것들은 의미 상 동일합니다. 이 int array[]구문은 C 프로그래머가 Java에 익숙해 지도록 돕기 위해 추가되었습니다.

int[] array 훨씬 바람직하고 혼란스럽지 않습니다.


답변

동일한 선언에서 둘 이상의 변수를 선언하면 약간의 차이가 있습니다.

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입니다.


답변

다른 점이 없다.

나는 type[] name형식이 변수가 배열이라는 것이 분명하다는 것을 선호한다 .

편집하다:

아차가 있습니다 (한 번에 둘 이상의 변수를 선언하지 않기 때문에 잊어 버렸습니다).

int[] foo, bar; // both are arrays
int foo[], bar; // foo is an array, bar is an int.


답변

아니요, 동일합니다. 하나

byte[] rowvector, colvector, matrix[];

다음과 같습니다.

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

Java 사양 에서 가져 왔습니다 . 그 의미는

int a[],b;
int[] a,b;

다르다. 이러한 여러 선언 중 하나를 권장하지 않습니다. 읽기 가장 쉬운 것은 다음과 같습니다.

int[] a;
int[] b;


답변

Java 언어 사양의 10.2 섹션 에서 :

[]는 선언의 시작 부분에서 유형의 일부로, 또는이 예에서와 같이 특정 변수에 대한 선언자의 일부로 또는 둘 다로 나타날 수 있습니다.

 byte[] rowvector, colvector, matrix[];

이 선언은 다음과 같습니다.

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

개인적으로 거의 모든필자가 본 Java 코드는 첫 번째 형식을 사용하는데, 이는 변수에 대한 모든 유형 정보를 한 곳에 보관함으로써 더 의미가 있습니다. 나는 두 번째 형태가 허용되지 않기를 바랍니다.

다행히 내가 한 생각하지 않는 지금 이 (유효) 코드를 볼 수 :

String[] rectangular[] = new String[10][10];


답변

두 명령은 같습니다.

구문을 사용하여 여러 객체를 선언 할 수 있습니다.

int[] arrayOne, arrayTwo; //both arrays

int arrayOne[], intOne; //one array one int 

참조 : http://java.sun.com/docs/books/jls/second_edition/html/arrays.doc.html


답변

차이 없음.

태양 에서 인용 :

[]이 예에서와 같이 선언의 시작 유형의 일부로서, 또는 특정 변수 또는 모두에 대한 선언자의 일부로 나타날 수있다 :byte[] rowvector, colvector, matrix[];

이 선언은 다음과 같습니다.
byte rowvector[], colvector[], matrix[][];