Rumah  >  Artikel  >  Java  >  Bagaimanakah Jenis Pilihan Java Dapat Memudahkan Pengendalian Nulls dalam Rangkaian Panggilan \"Dapatkan\"?

Bagaimanakah Jenis Pilihan Java Dapat Memudahkan Pengendalian Nulls dalam Rangkaian Panggilan \"Dapatkan\"?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 02:43:31497semak imbas

How Can Java's Optional Type Simplify Handling Nulls in Chains of

Menavigasi Rantaian "Dapatkan" dengan Selamat dengan Pilihan

Dalam pengaturcaraan Java, adalah perkara biasa untuk menghadapi rangkaian panggilan "dapatkan", seperti yang berikut:

house.getFloor(0).getWall(WEST).getDoor().getDoorknob();

Untuk mengelakkan potensi NullPointerExceptions, pembangun selalunya menggunakan semakan null verbose:

if (house != null &&& house.getFloor(0) &&& house.getFloor(0).getWall(WEST) != null &&& house.getFloor(0).getWall(WEST).getDoor() != null) ...

Pendekatan ini menjadi lebih sukar digunakan dengan rangkaian panggilan yang lebih panjang. Adakah terdapat penyelesaian yang lebih elegan?

Ya, dengan pengenalan Java 8 bagi jenis Pilihan, pengendalian null dalam rantaian get menjadi lebih mudah.

Menggunakan Pilihan untuk Pengendalian Null

Pilihan ialah kelas pembalut yang mewakili nilai pilihan. Ia boleh mengandungi nilai bukan nol atau kosong.

Untuk menggunakan Pilihan bagi pengendalian nol dalam rantaian get, kita boleh menggunakan keupayaan rantaiannya dengan kaedah map().

Pertimbangkan contoh berikut:

Optional.ofNullable(house)
        .map(house -> house.getFloor(0))
        .map(floorZero -> floorZero.getWall(WEST))
        .map(wallWest -> wallWest.getDoor())
        .map(door -> wallWest.getDoor());

Kod ini mencipta rantaian objek Pilihan, setiap satu mewakili hasil panggilan get yang sepadan.

Faedah Menggunakan Pilihan

Menggunakan Optional menawarkan beberapa faedah:

  • Null Checks Dikendalikan Secara Automatik: Optional secara automatik mengendalikan null check, menghapuskan keperluan untuk null checks eksplisit dalam kod anda.
  • Safe Get Calls: Jika mana-mana panggilan get kembali batal, Pilihan yang sepadan akan kosong, menghalang NullPointerExceptions.
  • API Fasih: Keupayaan rantaian of Optional menyediakan cara ringkas dan boleh dibaca untuk mengendalikan null dalam rantaian get.

Kesimpulan

Jika anda tidak dapat mengelak daripada melanggar Hukum Demeter, menggunakan Pilihan ialah pendekatan yang sangat disyorkan untuk menavigasi rangkaian panggilan "dapatkan" dengan selamat. Ia menyediakan cara yang elegan dan cekap untuk mengendalikan null, memastikan keteguhan dan kebolehpercayaan kod anda.

Atas ialah kandungan terperinci Bagaimanakah Jenis Pilihan Java Dapat Memudahkan Pengendalian Nulls dalam Rangkaian Panggilan \"Dapatkan\"?. 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