Rumah >Java >javaTutorial >Bilakah Operator Ternary Bukan Alat yang Tepat untuk Pekerjaan di Jawa?

Bilakah Operator Ternary Bukan Alat yang Tepat untuk Pekerjaan di Jawa?

DDD
DDDasal
2024-11-08 02:24:02535semak imbas

When is the Ternary Operator Not the Right Tool for the Job in Java?

Alternatif kepada Operator Ternary di Java

Soalan anda ingin mengubah segmen kod berikut menjadi operator ternary:

if (string != null) {
    callFunction(parameters);
} else {
    // Intentionally left blank
}

Asas Operator Ternary

Pengendali ternary Java memberikan nilai kepada pembolehubah berdasarkan sama ada keadaan adalah benar atau palsu. Sintaksnya ialah:

return_value = (true-false condition) ? (if true expression) : (if false expression);

Penghadan dalam Kes Ini

Walau bagaimanapun, pengendali ternary tidak sesuai untuk kod anda kerana klausa palsu kosong. Operator ternary memerlukan kedua-dua ungkapan benar dan salah.

Cadangan Alternatif

  • Nilai Pulangan Bukan batal dalam callFunction(... ):
    Jika callFunction(...) mengembalikan nilai bukan void, anda boleh menggunakan operator ternary seperti berikut:

    return_value = (string != null) ? callFunction(...) : null;
  • Void Kembalikan Nilai dalam callFunction(...):
    Jika callFunction(...) tidak mengembalikan nilai, operator ternary tidak berkenaan. Anda boleh mempertimbangkan alternatif berikut:

    if (string != null) {
        callFunction(...);
    }

    atau versi satu lapis:

    string != null && callFunction(...);

Tujuan Operator Ternary

Perlu diambil perhatian bahawa pengendali ternary harus digunakan terutamanya untuk tugasan alternatif yang ringkas. Kod anda nampaknya tidak sesuai dengan tujuan ini dan akan mendapat lebih banyak manfaat daripada alternatif yang dicadangkan.

Atas ialah kandungan terperinci Bilakah Operator Ternary Bukan Alat yang Tepat untuk Pekerjaan di Jawa?. 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