Rumah > Java > javaTutorial > Sekiranya Anda Mengelakkan Argumen Pilihan dalam Kaedah Java 8?

Sekiranya Anda Mengelakkan Argumen Pilihan dalam Kaedah Java 8?

Linda Hamilton
Lepaskan: 2024-12-30 06:10:09
asal
425 orang telah melayarinya

Should You Avoid Optional Arguments in Java 8 Methods?

Mengapa Elakkan Argumen Pilihan dalam Java 8

Walaupun peranannya bertujuan semata-mata sebagai jenis pulangan, penggunaan Pilihan sebagai hujah kaedah telah dibahaskan. Mari kita terokai hujah yang memihak kepada mengelakkan amalan ini:

Potensi Logik Bersyarat

Melalui parameter pilihan boleh membawa kepada logik bersyarat dalam kaedah, merumitkan kod dan menjadikannya lebih sukar untuk dikekalkan. Pertimbangkan contoh berikut:

public int calculateSomething(Optional<String> p1, Optional<BigDecimal> p2) {
    if (p1.isPresent() && p2.isPresent()) {
        return // ... logic with both values present
    } else if (p1.isPresent()) {
        return // ... logic with only p1 present
    } else if (p2.isPresent()) {
        return // ... logic with only p2 present
    } else {
        return // ... logic with both values absent
    }
}
Salin selepas log masuk

Balut Tidak Perlu

Membalut parameter nullable dalam Pilihan menimbulkan overhed masa jalan yang tidak perlu dengan menambahkan lapisan tambahan abstraksi. Sebagai perbandingan, menggunakan parameter boleh nullable secara langsung memerlukan lebih sedikit overhed.

Prestasi Mahal

Pilihan menanggung kos tambahan berbanding parameter boleh tonull. Kehadiran pembalut Pilihan memerlukan semakan dan operasi tambahan, yang boleh memberi kesan kepada prestasi, terutamanya dalam aplikasi kritikal prestasi.

Risiko Input Null

Walaupun ia tidak dibenarkan melepasi null secara langsung sebagai parameter pilihan, masih terdapat risiko seseorang melepasi Pilihan yang mengandungi null. Ini boleh membawa kepada tingkah laku yang tidak dijangka dan potensi NullPointerExceptions.

Kesimpulan

Walaupun memberikan Pilihan sebagai hujah kaedah mungkin mempunyai penyokongnya, potensi untuk logik bersyarat, pembalut yang tidak perlu, implikasi prestasi dan risiko input null menjadikannya secara amnya tidak diingini. Untuk input kaedah, parameter nullable mewakili alternatif yang lebih bersih dan lebih cekap. Dengan mengikut garis panduan ini, pembangun boleh mempromosikan kebolehbacaan kod, kebolehselenggaraan dan prestasi.

Atas ialah kandungan terperinci Sekiranya Anda Mengelakkan Argumen Pilihan dalam Kaedah Java 8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan