Rumah > Java > javaTutorial > Kelas pilihan dalam Java 8: Cara mengendalikan kemungkinan nilai nol

Kelas pilihan dalam Java 8: Cara mengendalikan kemungkinan nilai nol

WBOY
Lepaskan: 2023-07-30 16:13:08
asal
1015 orang telah melayarinya

Kelas pilihan dalam Java 8: Cara menangani kemungkinan nilai nol

Dalam pembangunan perisian, kita selalunya perlu menangani pelbagai kemungkinan nilai nol. Kaedah pemprosesan tradisional adalah untuk menilai sama ada nilai itu kosong melalui penghakiman bersyarat, dan kemudian melaksanakan pemprosesan yang sepadan. Kaedah ini bukan sahaja menyusahkan, tetapi juga mudah membawa kepada kod yang panjang dan kebolehbacaan yang rendah. Untuk menyelesaikan masalah ini, Java 8 memperkenalkan kelas baharu Pilihan, yang menyediakan cara yang elegan untuk mengendalikan nilai yang berpotensi nol.

Kelas Pilihan ialah kelas pembalut yang boleh membalut sebarang jenis nilai dan boleh menggunakan satu siri kaedah untuk memproses nilai ini. Mari lihat beberapa contoh penggunaan kelas Pilihan. . Contohnya:

String name = "John";
Optional<String> optionalName = Optional.of(name);
Salin selepas log masuk
    Kami juga boleh menggunakan kaedah statik Optional.ofNullable() untuk mencipta objek Pilihan, dan nilai yang dihantar boleh menjadi batal. Contohnya:
  1. String name = null;
    Optional<String> optionalName = Optional.ofNullable(name);
    Salin selepas log masuk
Untuk menentukan sama ada objek Pilihan kosong

Kita boleh menggunakan kaedah isPresent() untuk menentukan sama ada objek Pilihan kosong. Mengembalikan benar jika nilai dalam objek Pilihan wujud; Contohnya:

Optional<String> optionalName = Optional.of("John");
boolean isPresent = optionalName.isPresent();
Salin selepas log masuk
  1. Gunakan nilai lalai

Jika nilai dalam objek Pilihan kosong, kita boleh menggunakan kaedah orElse() atau orElseGet() untuk menetapkan nilai lalai. Dengan cara ini, apabila objek Pilihan kosong, nilai lalai akan dikembalikan. Contohnya:

Optional<String> optionalName = Optional.ofNullable(null);
String name = optionalName.orElse("Default");
Salin selepas log masuk
Optional<String> optionalName = Optional.ofNullable(null);
String name = optionalName.orElseGet(() -> "Default");
Salin selepas log masuk
  1. Melaksanakan operasi dalam objek Pilihan

Kita boleh menggunakan kaedah map() dan flatMap() untuk melaksanakan operasi dalam objek Pilihan dan mengembalikan objek Pilihan baharu. Contohnya:

Optional<String> optionalName = Optional.of("John");
optionalName.map(String::toUpperCase);
Salin selepas log masuk
Optional<String> optionalName = Optional.of("John");
optionalName.flatMap(name -> Optional.of(name.toUpperCase()));
Salin selepas log masuk
  1. throw exception

Kita boleh menggunakan kaedah orElseThrow() untuk melontar pengecualian apabila objek Pilihan kosong. Contohnya:

Optional<String> optionalName = Optional.ofNullable(null);
optionalName.orElseThrow(IllegalStateException::new);
Salin selepas log masuk
    Di atas hanyalah beberapa kegunaan biasa bagi kelas Pilihan Ia juga menyediakan banyak kaedah lain yang boleh dipilih dan digunakan mengikut keperluan tertentu.
  1. Ringkasan

Kelas Pilihan dalam Java 8 menyediakan kami cara yang elegan untuk mengendalikan kemungkinan nilai nol. Ia boleh mengelakkan pertimbangan bersyarat yang menyusahkan dan menjadikan kod lebih ringkas, jelas dan boleh dibaca. Apabila menggunakan kelas Pilihan, anda perlu memberi perhatian kepada lontaran dan pengendalian pengecualian penuding nol, dan pilih kaedah yang sesuai untuk memenuhi keperluan yang berbeza.

Saya harap artikel ini akan membantu anda memahami kelas Pilihan dalam Java 8!

Atas ialah kandungan terperinci Kelas pilihan dalam Java 8: Cara mengendalikan kemungkinan nilai nol. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan