Rumah > Java > javaTutorial > teks badan

Menggunakan kelas Pilihan dalam Java8

WBOY
Lepaskan: 2024-02-19 11:25:07
asal
734 orang telah melayarinya

Menggunakan kelas Pilihan dalam Java8

Penggunaan Pilihan dalam Java 8

Kelas Pilihan dalam Java 8 ialah ciri baharu untuk mengendalikan kemungkinan nilai nol. Dalam versi Java yang lebih lama, kita perlu menggunakan pertimbangan bersyarat untuk mengelakkan pengecualian penuding nol. Dalam Java 8, kelas Pilihan menyediakan cara yang elegan dan selamat untuk mengendalikan kemungkinan nilai nol.

Kelas Pilihan ialah objek bekas, yang mungkin mengandungi nilai bukan nol atau kosong. Dengan menggunakan kelas Pilihan, kita boleh menyatakan keadaan secara eksplisit apabila nilai tertentu adalah batal dan mengelakkan pengecualian penunjuk nol.

Di bawah ini kami akan memperkenalkan penggunaan kelas Pilihan melalui contoh kod tertentu.

  1. Mencipta objek Pilihan

Objek pilihan boleh dibuat melalui kaedah statik. Kaedah yang biasa digunakan untuk mencipta objek Pilihan adalah seperti berikut:

  • Optional.empty(): Buat objek Pilihan kosong.
  • Optional.of(value): Buat objek Pilihan yang tidak kosong dan tetapkan nilai sebagai nilainya.
  • Optional.ofNullable(value): Buat objek Pilihan Jika nilai tidak kosong, gunakannya sebagai nilai objek Pilihan Jika tidak, buat objek Pilihan kosong.
Optional<String> emptyOptional = Optional.empty();
Optional<String> nonEmptyOptional = Optional.of("Hello World");
Optional<String> nullableOptional = Optional.ofNullable("Hello World");
Salin selepas log masuk
  1. Tentukan sama ada objek Pilihan mengandungi nilai

Kita boleh menggunakan kaedah isPresent() untuk menentukan sama ada objek Pilihan mengandungi nilai. Jika objek Pilihan mengandungi nilai bukan nol, kaedah isPresent() akan mengembalikan benar jika tidak, ia akan mengembalikan palsu.

Optional<String> optional = Optional.ofNullable("Hello World");
if (optional.isPresent()) {
    System.out.println("Optional对象包含值:" + optional.get());
} else {
    System.out.println("Optional对象为空");
}
Salin selepas log masuk
Salin selepas log masuk
  1. Dapatkan nilai objek Pilihan

Kita boleh menggunakan kaedah get() untuk mendapatkan nilai objek Pilihan. Jika objek Pilihan kosong, memanggil kaedah get() akan membuang pengecualian NoSuchElementException. Oleh itu, sebelum memanggil kaedah get(), sebaiknya gunakan kaedah isPresent() untuk menilai.

Optional<String> optional = Optional.ofNullable("Hello World");
if (optional.isPresent()) {
    System.out.println("Optional对象包含值:" + optional.get());
} else {
    System.out.println("Optional对象为空");
}
Salin selepas log masuk
Salin selepas log masuk
  1. Gunakan nilai lalai

Dalam sesetengah kes, kami mahu menggunakan nilai lalai sebaliknya apabila objek Pilihan kosong. Ini boleh dicapai menggunakan kaedah orElse().

Optional<String> optional = Optional.empty();
String value = optional.orElse("Default Value");
System.out.println("Optional对象的值:" + value);
Salin selepas log masuk
  1. Menggunakan ungkapan lambda

Konsep pengaturcaraan berfungsi diperkenalkan di Java 8. Kami boleh memproses nilai objek Pilihan melalui ungkapan lambda.

Optional<String> optional = Optional.ofNullable("Hello World");
optional.ifPresent(value -> System.out.println("Optional对象的值:" + value));
Salin selepas log masuk
  1. Lakukan operasi rantai

Objek pilihan menyokong operasi rantai Kita boleh menggunakan kaedah map() untuk menukar nilai objek Pilihan.

Optional<String> optional = Optional.ofNullable("Hello World");
optional.map(value -> value.toUpperCase())
        .ifPresent(value -> System.out.println("转换后的值:" + value));
Salin selepas log masuk

Melalui contoh di atas, kita dapat melihat penggunaan kelas Pilihan dalam Java8. Kelas Pilihan boleh membantu kami mengendalikan kemungkinan nilai nol dengan lebih elegan dan mengelakkan berlakunya pengecualian penuding nol. Dalam pembangunan sebenar, penggunaan kelas Pilihan yang munasabah boleh meningkatkan kebolehbacaan dan keteguhan kod.

Atas ialah kandungan terperinci Menggunakan kelas Pilihan dalam Java8. 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