ความแตกต่างระหว่าง 'class [] arrayname' และ 'class arrayname []' [ซ้ำกัน]

Sep 25 2020

ฉันไม่เข้าใจความแตกต่างระหว่าง

String[] arrayName = {/*some data here*/};

และ

String arrayName[] = {/*some data here*/};

มีความแตกต่างระหว่างการวางวงเล็บเหลี่ยมหลัง type ( String[]) และหลังชื่ออาร์เรย์ ( String arrayName[]) หรือไม่?
ถ้าเป็นเช่นนั้นคืออะไร?

คำตอบ

4 Mureinik Sep 25 2020 at 12:25

การประกาศทั้งสองจะมีผลลัพธ์เหมือนกัน ความแตกต่างเป็นโวหารเท่านั้น ต้องบอกว่าคำแนะนำสไตล์ Java ส่วนใหญ่จะแนะนำให้มีวงเล็บเหลี่ยมบนชื่อชนิดไม่ใช่ชื่อตัวแปรเช่น:

String[] arrayName = {/*some data here*/};
1 GiorgiTsiklauri Sep 25 2020 at 12:28

พวกเขาเป็นเกือบเดียวกันกับจับ semantical เล็ก ๆ น้อย ๆ

โดย:

String[] array;
  1. คุณประกาศตัวแปรที่ตั้งชื่อarrayซึ่งเป็นประเภทของ String [] (String array);
  2. ในรหัสนี้คุณสามารถประกาศตัวแปรอื่น ๆ ในบรรทัดด้วยString[]ประเภทเดียวกัน( String[] array1, array2;);

โดย:

String array[];
  1. คุณประกาศตัวแปรที่จะอ้างถึงออบเจ็กต์อาร์เรย์องค์ประกอบที่ต้องเป็นประเภทjava.lang.String;
  2. คุณสามารถมีบางอย่างString array[], name, surname;ที่ไม่ใช่โค้ดที่ดีในการเขียน แต่ความหมายของ Java ไม่ได้ปิดกั้นสิ่งนี้