Fungsi OptionalDouble dalam Java ialah kaedah untuk mengendalikan data jenis berganda yang mungkin mengandungi nilai nol. Fungsi OptionalDouble membolehkan pembangun menggunakan pernyataan mudah untuk mengendalikan situasi ini, mengelakkan pemeriksaan nilai nol yang membosankan dan pengendalian ralat.
Artikel ini akan membincangkan cara menggunakan fungsi OptionalDouble dalam Java dan menerangkan sebab ia merupakan cara terbaik untuk mengendalikan nilai nol.
Peranan fungsi OptionalDouble
Di Java, sebarang objek jenis rujukan mungkin batal. Apabila kita ingin mengendalikan objek ini, jika nilai nolnya tidak dikendalikan dengan betul, kita mungkin menghadapi pengecualian penuding nol. Masalah ini juga wujud dalam jenis data asas, seperti jenis berganda. Jika kami tidak mengendalikannya dengan betul, ralat juga akan berlaku apabila kami cuba menggunakan data jenis berganda dengan nilai nol.
Untuk menyelesaikan masalah ini, Java memperkenalkan fungsi OptionalDouble. Fungsi ini ialah kelas pembalut yang boleh membalut nilai jenis berganda atau nilai nol. Oleh kerana fungsi OptionalDouble mengendalikan nilai nol dengan betul, kami boleh mengendalikan nilai ini tanpa pengecualian.
Menggunakan fungsi OptionalDouble
Untuk menggunakan fungsi OptionalDouble, kita perlu mencipta contoh OptionalDouble menggunakan kaedah of(). Kaedah ini perlu menerima nilai berganda sebagai parameter. Jika kita ingin mencipta contoh OptionalDouble yang membungkus nilai nol, kita boleh menggunakan kaedah empty().
Setelah kami mencipta tika OptionalDouble, kita boleh menggunakan kaedah isPresent() untuk menyemak sama ada tika itu membalut nilai berganda. Jika nilai wujud, gunakan kaedah getAsDouble() untuk mendapatkan nilai. Jika tidak, kami boleh menyediakan nilai lalai menggunakan kaedah orElse().
Berikut ialah beberapa contoh kod yang menunjukkan penggunaan fungsi OptionalDouble:
OptionalDouble optionalDouble1 = OptionalDouble.of(3.14); OptionalDouble optionalDouble2 = OptionalDouble.empty(); if (optionalDouble1.isPresent()) { System.out.println(optionalDouble1.getAsDouble()); // 输出 3.14 } double value1 = optionalDouble1.orElse(0); double value2 = optionalDouble2.orElse(Double.NaN); System.out.println(value1); // 输出 3.14 System.out.println(value2); // 输出 NaN
Dalam kod di atas, baris pertama mencipta tika OptionalDouble yang membalut nilai bukan nol. Baris kedua mencipta contoh OptionalDouble yang membungkus nilai nol.
Seterusnya, kami menggunakan kaedah isPresent() untuk menyemak sama ada tika pilihanDouble1 membalut nilai berganda. Oleh kerana ia membungkus 3.14, kaedah isPresent() mengembalikan benar. Kemudian, kami menggunakan kaedah getAsDouble() untuk mendapatkan nilai dan mengeluarkannya.
Seterusnya, kami menggunakan kaedah orElse() untuk menyediakan nilai lalai masing-masing untuk optionalDouble1 dan optionalDouble2. Oleh kerana contoh pilihanDouble1 menyimpan 3.14, kaedah orElse() mengembalikan nilai ini. Oleh kerana contoh pilihanDouble2 kosong, kaedah orElse() mengembalikan nilai NaN.
Kelebihan dan Nota
Kelebihan menggunakan fungsi OptionalDouble adalah jelas. Dengan menggunakan kaedah isPresent(), kami boleh menyemak dengan cepat sama ada nilai itu wujud dan memberikan nilai lalai menggunakan kaedah orElse(). Ini membolehkan kami menulis kod yang ringkas dan mudah difahami sambil mengelakkan semakan nilai nol yang membosankan.
Perlu diingatkan bahawa fungsi OptionalDouble bukanlah pilihan terbaik dalam semua situasi. Dalam kebanyakan kes, kita harus menggunakan jenis data asas Java. Fungsi OptionalDouble terhad kepada situasi di mana anda perlu mengendalikan data jenis dua yang mungkin kosong.
Selain itu, oleh kerana fungsi OptionalDouble ialah ciri baharu dalam Java 8, anda perlu mengetahui lebih lanjut tentang ciri ini apabila menggunakannya.
Kesimpulan
Fungsi OptionalDouble ialah kaedah yang berkesan dan ringkas untuk mengendalikan nilai nol, yang membolehkan pembangun mengendalikan data jenis dua kali dengan mudah yang mungkin mengandungi nilai nol. Dengan menggunakannya, kami boleh mengelak daripada menggunakan semakan nilai nol yang membosankan dan menggunakan penyataan pintasan untuk memproses data kami. Walaupun menggunakan fungsi OptionalDouble mungkin tidak sesuai untuk setiap situasi, jika digunakan dengan betul, ia boleh meningkatkan kualiti kod kami dengan ketara.
Atas ialah kandungan terperinci Cara menggunakan fungsi OptionalDouble untuk pemprosesan nilai nol dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!