Apabila mentakrifkan kaedah yang menjangkakan nilai pulangan, adalah penting untuk memastikan penyata pulangan hadir, terutamanya dalam kawalan struktur seperti jika, sementara, atau untuk. Kegagalan berbuat demikian mengakibatkan ralat "Penyata pemulangan hilang".
Pertimbangkan contoh berikut:
public String myMethod() { if(condition) { return x; } }
Dalam senario ini, ralat berlaku kerana pengkompil menjangkakan penyataan pemulangan selepas kalau sekat. Walau bagaimanapun, menukar pengepala kaedah kepada batal dan menggunakan System.out.println bukanlah penyelesaian yang ideal.
Memahami Rasional
Keperluan pengkompil untuk pernyataan pemulangan memastikan bahawa semua laluan dalam kaedah mempunyai nilai pulangan yang ditentukan. Ini membantu mengekalkan ketekalan kod dan menghalang kemungkinan ralat masa jalan. Jika pernyataan pemulangan tidak hadir selepas penyataan bersyarat, kaedah itu mungkin tidak mengembalikan nilai secara konsisten, yang membawa kepada tingkah laku yang tidak dapat diramalkan.
Mengendalikan Laluan Tidak Lengkap
Dalam kes di mana pernyataan if tidak dilaksanakan, kaedah masih perlu mengembalikan nilai. Inilah sebabnya mengapa pengkompil menguatkuasakan pernyataan pulangan. Sebagai contoh, kaedah yang mengembalikan nilai boolean harus mempunyai laluan pulangan benar dan palsu:
public boolean myMethod() { if(condition) { return true; } else { return false; } }
Pengecualian kepada Peraturan
Walau bagaimanapun, terdapat pengecualian kepada peraturan ini. Jika blok if / else mempunyai pernyataan pulangan dalam setiap cawangan, pengkompil mengiktiraf bahawa kaedah akan sentiasa mengembalikan nilai, menghapuskan keperluan untuk pernyataan pulangan tambahan selepas blok.
if(condition) { return x; } else { return y; }
Ringkasnya, adalah penting untuk memasukkan pernyataan pulangan selepas setiap jika, sementara, atau untuk pernyataan yang tidak menjamin nilai pulangan. Ini memastikan tingkah laku kaedah yang konsisten dan boleh diramal.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'Kenyataan Pemulangan Hilang' dalam Penyata Bersyarat Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!