Rumah >Java >javaTutorial >Apakah nilai pulangan akhir kaedah Java dengan berbilang penyata pulangan?

Apakah nilai pulangan akhir kaedah Java dengan berbilang penyata pulangan?

DDD
DDDasal
2024-11-21 06:41:10722semak imbas

What is the final return value of a Java method with multiple return statements?

Berbilang Pulangan di Java: Mendedahkan Nilai Pulangan Akhir

Pertimbangkan kod Java yang menarik berikut:

String test() {
    try {
        return "1";
    } finally {
        return "2";
    }
}

Kod ini memperkenalkan situasi pelik di mana berbilang penyata pulangan digunakan dalam kaedah yang sama. Timbul persoalan: adakah spesifikasi bahasa Java secara eksplisit mentakrifkan nilai pulangan akhir untuk senario sedemikian?

Spesifikasi Bahasa

Jawapannya terletak dalam spesifikasi bahasa. Menurut Spesifikasi Bahasa Java, nilai pulangan akhir sentiasa nilai yang dikembalikan oleh pernyataan pulangan terakhir yang dilaksanakan. Dalam kes khusus ini, pulangan terakhir yang dilaksanakan berlaku dalam blok akhirnya, menghasilkan nilai pulangan akhir "2".

Pematuhan JVM

Spesifikasi ini mengikat untuk semua Mesin Maya Java (JVM). Mana-mana JVM yang menyimpang daripada tingkah laku ini dianggap tidak mematuhi spesifikasi bahasa. Oleh itu, anda boleh yakin bahawa nilai pulangan akhir kaedah test() akan sentiasa "2" pada mana-mana JVM yang mematuhi.

Amaran dan Syor Pengkompil

Walaupun spesifikasi bahasa mentakrifkan tingkah laku, kebanyakan penyusun akan mengeluarkan amaran tentang pembinaan kod tersebut. Eclipse, sebagai contoh, mungkin menunjukkan bahawa blok pemulangan tidak akan dilaksanakan, yang tidak betul. Ini menunjukkan sifat menulis kod yang tidak diingini dengan berbilang pulangan.

Amalan Terbaik

Adalah sangat tidak digalakkan untuk menggunakan berbilang pulangan dalam satu kaedah. Amalan ini merumitkan kebolehbacaan kod, memperkenalkan potensi tingkah laku yang tidak dijangka dan melanggar amalan terbaik yang telah ditetapkan. Sentiasa bertujuan untuk kod yang jelas dan ringkas yang mematuhi garis panduan industri.

Atas ialah kandungan terperinci Apakah nilai pulangan akhir kaedah Java dengan berbilang penyata pulangan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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