Ternary Operator Refactoring
Ternary Operator di Java menyediakan alternatif ringkas kepada pernyataan if-else, membolehkan anda menilai keadaan benar atau salah dan tetapkan nilai yang berbeza berdasarkan hasil.
Soalan:
Bolehkah kod berikut digantikan dengan operator ternary?
if (string != null) { callFunction(parameters); } else { // Intentionally left blank }
Jawapan:
Kes 1: Nilai Pulangan Bukan Void
Jika callFunction(...) mengembalikan nilai bukan void, anda boleh menggunakan pengendali ternary seperti berikut:
return_value = (string != null) ? callFunction(...) : null;
Ini memberikan nilai pulangan callFunction jika rentetan bukan nol, jika tidak, ia memberikan null.
Kes 2: Tiada Nilai Pulangan
Walau bagaimanapun, jika callFunction(...) tidak mengembalikan nilai, anda tidak boleh menggunakan operator ternary. Dalam kes ini, pernyataan if-else asal tetap diperlukan.
Gaya dan Pertimbangan Penggunaan
Walaupun pengendali ternary boleh menjadi trengkas yang mudah untuk tugasan bersyarat yang mudah, ia adalah penting untuk mempertimbangkan kebolehbacaan dan kebolehselenggaraannya. Jika niat kod anda tidak jelas atau memerlukan konteks tambahan, biasanya lebih baik untuk kekal dengan pernyataan if-else.
Alternatif Satu Pelapik
Jika anda kosong klausa palsu bertujuan untuk tidak melakukan apa-apa, anda boleh menggunakan satu pelapik berikut:
if (string != null) callFunction(...);
Atas ialah kandungan terperinci Bolehkah Anda Memfaktorkan Semula Pernyataan If-Else kepada Operator Ternary?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!