różnica między „class [] arrayname” a „class arrayname []” [duplicate]
Sep 25 2020
Nie rozumiem różnicy między
String[] arrayName = {/*some data here*/};
i
String arrayName[] = {/*some data here*/};
Czy jest jakaś różnica między umieszczaniem nawiasów kwadratowych po typie ( String[]) i po nazwie tablicy ( String arrayName[])?
Jeśli tak to co?
Odpowiedzi
4 Mureinik Sep 25 2020 at 12:25
Obie deklaracje będą miały ten sam wynik. Różnica jest tylko stylistyczna. Mimo to większość przewodników w stylu Java zaleca umieszczanie nawiasów kwadratowych w nazwie typu, a nie w nazwie zmiennej, tj .:
String[] arrayName = {/*some data here*/};
1 GiorgiTsiklauri Sep 25 2020 at 12:28
Są prawie takie same, z niewielkim haczykiem semantycznym.
Przez:
String[] array;
- Deklarujesz zmienną o nazwie,
arrayktóra jest typu String [] (tablica String); - W tym kodzie możesz zadeklarować inne zmienne w linii, z tym samym
String[]typem (String[] array1, array2;);
Przez:
String array[];
- Deklarujesz zmienną, która będzie odwoływała się do obiektu tablicy, którego elementy muszą być typu
java.lang.String; - Możesz mieć coś takiego,
String array[], name, surname;co nie jest przyzwoitym kodem do napisania, ale semantyka Java tego nie blokuje.