Rumah  >  Artikel  >  Java  >  Bolehkah Anda Memfaktorkan Semula Pernyataan If-Else kepada Operator Ternary?

Bolehkah Anda Memfaktorkan Semula Pernyataan If-Else kepada Operator Ternary?

Patricia Arquette
Patricia Arquetteasal
2024-11-06 15:09:02349semak imbas

Can You Refactor an If-Else Statement to a Ternary Operator?

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!

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