Rumah > Java > javaTutorial > Mengapa Saya Tidak Boleh Memulakan Array Tidak Diisytiharkan di Jawa?

Mengapa Saya Tidak Boleh Memulakan Array Tidak Diisytiharkan di Jawa?

Mary-Kate Olsen
Lepaskan: 2024-12-15 15:13:24
asal
203 orang telah melayarinya

Why Can't I Initialize an Undeclared Array in Java?

Sintaks Permulaan Tatasusunan dan Kekangan Pengisytiharan

Di Java, terdapat pelbagai cara untuk memulakan tatasusunan, tetapi mereka mesti mematuhi peraturan sintaks tertentu. Artikel ini membincangkan sebab pengkompil Java mengehadkan permulaan pembolehubah tatasusunan yang belum diisytiharkan.

Apabila mengisytiharkan tatasusunan, adalah mungkin untuk memulakannya secara serentak dengan nilai menggunakan kurungan kerinting. Sebagai contoh, kod berikut adalah sah:

AClass[] array = {object1, object2};
Salin selepas log masuk

Pilihan lain ialah mencipta tatasusunan menggunakan kata kunci baharu dan kemudian memberikan nilai kepada elemennya secara individu:

AClass[] array = new AClass[2];
...
array[0] = object1;
array[1] = object2;
Salin selepas log masuk

Walau bagaimanapun, kod berikut tidak dibenarkan oleh pengkompil Java:

AClass[] array;
...
array = {object1, object2};
Salin selepas log masuk

Sekatan ini timbul daripada keperluan bahawa tatasusunan mesti diisytiharkan sebelum mereka boleh dimulakan. Dalam kod di atas, tatasusunan pembolehubah tatasusunan diisytiharkan tanpa menyatakan saiznya atau memulakannya. Akibatnya, Java tidak membenarkan penugasan langsung nilai menggunakan kurungan kerinting.

Motivasi pereka Java untuk sekatan ini tidak diketahui. Walau bagaimanapun, peraturan itu memastikan ketekalan dalam sintaks bahasa dan menghalang kemungkinan kekaburan semasa tafsiran kod.

Walaupun sekatan ini kadangkala boleh memperkenalkan kod tambahan, ia boleh dipintas dengan menggunakan sintaks berikut:

AClass[] array;
...
array = new AClass[]{object1, object2};
Salin selepas log masuk

Kaedah ini mengisytiharkan pembolehubah tatasusunan tanpa permulaan dan kemudian memulakannya kemudian menggunakan kata kunci baharu dan kurungan kerinting.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Memulakan Array Tidak Diisytiharkan di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan