Rumah  >  Artikel  >  Java  >  Bagaimana untuk mengendalikan kes nilai nol menggunakan fungsi Pilihan dalam Java

Bagaimana untuk mengendalikan kes nilai nol menggunakan fungsi Pilihan dalam Java

王林
王林asal
2023-10-20 10:06:291210semak imbas

Bagaimana untuk mengendalikan kes nilai nol menggunakan fungsi Pilihan dalam Java

Cara menggunakan fungsi Pilihan untuk mengendalikan nilai nol dalam Java

Dalam pengaturcaraan Java, kita sering menghadapi situasi di mana nilai nol dikendalikan. Pengecualian penunjuk null ialah ralat biasa Untuk mengelakkan situasi ini, Java 8 memperkenalkan kelas Pilihan untuk mengendalikan situasi nilai nol. Kelas Pilihan ialah kelas kontena yang boleh mengandungi nilai bukan kosong atau tiada nilai.

Menggunakan kelas Pilihan, kami boleh mengendalikan situasi nilai nol dengan lebih elegan dan mengelakkan pengecualian penuding nol. Berikut akan memperkenalkan cara menggunakan fungsi Pilihan dalam Java untuk mengendalikan situasi nilai nol dan memberikan contoh kod khusus.

  1. Buat Objek Pilihan
    Apabila menggunakan kelas Pilihan, anda perlu mencipta objek Pilihan terlebih dahulu. Objek Pilihan boleh dibuat dengan memanggil kaedah statik kelas Pilihan. Terdapat tiga cara yang biasa digunakan untuk mencipta objek Pilihan:
  • Menggunakan kaedah of: Kaedah of menerima nilai bukan nol sebagai parameter dan mengembalikan objek Pilihan yang mengandungi nilai. Jika nilai yang dihantar adalah nol, NullPointerException akan dilemparkan.
  • Penggunaan kaedah Nullable: kaedah Nullable menerima nilai sebagai parameter dan mengembalikan objek Pilihan yang mengandungi nilai. Jika nilai yang dihantar adalah batal, objek Pilihan yang kosong dikembalikan, iaitu Optional.empty().
  • Gunakan kaedah kosong: kaedah kosong mengembalikan objek Pilihan kosong.

Berikut ialah contoh kod untuk mencipta objek Pilihan:

Optional<String> nonEmptyOptional = Optional.of("Hello");
Optional<String> nullableOptional = Optional.ofNullable(null);
Optional<String> emptyOptional = Optional.empty();
  1. Tentukan sama ada objek Pilihan mengandungi nilai
    Apabila berurusan dengan objek Pilihan, kita sering perlu menentukan sama ada objek Pilihan mengandungi nilai bukan nol. Anda boleh menentukan sama ada objek Pilihan mengandungi nilai dengan memanggil kaedah isPresent. Kaedah isPresent mengembalikan nilai Boolean, benar jika objek Pilihan mengandungi nilai bukan nol, sebaliknya palsu.

Berikut ialah contoh kod untuk menentukan sama ada objek Pilihan mengandungi nilai:

Optional<String> optional = Optional.ofNullable("Hello");
if (optional.isPresent()) {
    System.out.println("Optional对象包含值");
} else {
    System.out.println("Optional对象不包含值");
}
  1. Dapatkan nilai objek Pilihan
    Jika objek Pilihan mengandungi nilai bukan nol, kita boleh mendapatkan nilai dengan memanggil dapatkan kaedah. Kaedah get mengembalikan nilai yang terkandung dalam objek Pilihan. Jika objek Pilihan kosong, NoSuchElementException akan dilemparkan.

Untuk mengelak daripada membuang NoSuchElementException, kita boleh menggunakan kaedah isPresent untuk menentukan sama ada objek Pilihan mengandungi nilai bukan nol, dan membuat pertimbangan sebelum memanggil kaedah get untuk mendapatkan nilai.

Berikut ialah contoh kod untuk mendapatkan nilai objek Pilihan:

Optional<String> optional = Optional.ofNullable("Hello");
if (optional.isPresent()) {
    String value = optional.get();
    System.out.println("获取到的值为:" + value);
} else {
    System.out.println("Optional对象不包含值");
}

Walau bagaimanapun, menggunakan kaedah get untuk mendapatkan nilai adalah cara yang tidak selamat kerana jika objek Pilihan kosong, pengecualian akan dilemparkan. Oleh itu, pendekatan yang lebih baik ialah menggunakan kaedah ifPresent, yang menerima antara muka fungsi Pengguna sebagai parameter Jika objek Pilihan mengandungi nilai bukan nol, antara muka fungsi akan dipanggil untuk memproses nilai.

Berikut ialah contoh kod yang menggunakan kaedah ifPresent untuk mendapatkan nilai objek Pilihan:

Optional<String> optional = Optional.ofNullable("Hello");
optional.ifPresent(value -> System.out.println("获取到的值为:" + value));
  1. Gunakan kaedah orElse untuk menetapkan nilai lalai
    Apabila berurusan dengan objek Pilihan, kita selalunya perlu menetapkan nilai lalai . Apabila objek Pilihan kosong, gunakan nilai lalai ini. Anda boleh menggunakan kaedah orElse untuk menetapkan nilai lalai. Kaedah orElse menerima nilai sebagai parameter dan mengembalikan nilai ini apabila objek Pilihan kosong.

Berikut ialah contoh kod untuk menetapkan nilai lalai menggunakan kaedah orElse:

Optional<String> optional = Optional.ofNullable(null);
String value = optional.orElse("默认值");
System.out.println("获取到的值为:" + value);
  1. Tetapkan nilai lalai menggunakan kaedah orElseGet
    Selain menetapkan nilai lalai menggunakan kaedah orElse, anda juga boleh menggunakan kaedah orElseGet . Berbanding dengan kaedah orElse, kaedah orElseGet menerima antara muka fungsi Pembekal sebagai parameter, yang mentakrifkan kaedah get untuk mengembalikan nilai lalai. Apabila objek Pilihan kosong, antara muka fungsi ini akan dipanggil untuk mendapatkan nilai lalai.

Berikut ialah contoh kod yang menggunakan kaedah orElseGet untuk menetapkan nilai lalai:

Optional<String> optional = Optional.ofNullable(null);
String value = optional.orElseGet(() -> {
    // 通过一些逻辑来计算默认值
    return "计算得到的默认值";
});
System.out.println("获取到的值为:" + value);
  1. Gunakan kaedah peta untuk menukar nilai objek Pilihan
    Apabila berurusan dengan objek Pilihan, kita selalunya perlu melakukan beberapa operasi pada nilai dalam objek Pilihan, seperti penukaran, Penapisan dll. Anda boleh menggunakan kaedah peta untuk menukar nilai dalam objek Pilihan. Kaedah peta menerima antara muka fungsi Fungsi sebagai parameter, yang mentakrifkan kaedah guna untuk menukar nilai dalam objek Pilihan.

Berikut ialah contoh kod yang menggunakan kaedah peta untuk menukar nilai objek Pilihan:

Optional<String> optional = Optional.ofNullable("Hello");
Optional<String> transformedOptional = optional.map(value -> value.toUpperCase());
transformedOptional.ifPresent(value -> System.out.println("转换后的值为:" + value));
  1. Gunakan kaedah flatMap untuk menukar objek Pilihan
    Apabila berurusan dengan objek Pilihan, kadangkala kita perlu melakukan operasi selanjutnya pada nilai dalam objek Pilihan, seperti mengikut Nilai dalam objek Pilihan mendapat objek Pilihan baharu. Anda boleh menggunakan kaedah flatMap untuk mencapai fungsi ini. Kaedah flatMap menerima antara muka fungsi Fungsi sebagai parameter, yang mentakrifkan kaedah guna untuk menukar nilai dalam objek Pilihan dan mengembalikan objek Pilihan baharu.

Berikut ialah contoh kod menggunakan kaedah flatMap untuk menukar objek Pilihan:

Optional<String> optional = Optional.ofNullable("Hello");
Optional<String> flatMappedOptional = optional.flatMap(value -> {
    if (value.equals("Hello")) {
        return Optional.of("World");
    } else {
        return Optional.empty();
    }
});
flatMappedOptional.ifPresent(value -> System.out.println("转换后的值为:" + value));

总结
在Java编程中,处理空值情况是一个非常常见的需求。使用Optional函数可以更加优雅地处理空值情况,避免出现空指针异常。本文介绍了Bagaimana untuk mengendalikan kes nilai nol menggunakan fungsi Pilihan dalam Java,并提供了具体的代码示例。通过学习和使用Optional函数,可以使我们的代码更加安全和健壮。

Atas ialah kandungan terperinci Bagaimana untuk mengendalikan kes nilai nol menggunakan fungsi Pilihan dalam Java. 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