Kelas pilihan dalam Java 8: Cara menggunakan kaedah orElseThrow() untuk mengendalikan kemungkinan nilai nol
Pengenalan:
Dalam pembangunan Java, kita sering menghadapi situasi di mana kita berurusan dengan kemungkinan nilai nol. Dalam versi Java yang lebih awal, kami biasanya menggunakan null untuk menunjukkan ketiadaan nilai. Walau bagaimanapun, terdapat beberapa masalah dengan menggunakan null Sebagai contoh, kita perlu kerap menentukan sama ada ia adalah batal, dan pengecualian penuding nol cenderung berlaku. Untuk menyelesaikan masalah ini, Java 8 memperkenalkan kelas Pilihan. Kelas Pilihan menyediakan cara yang elegan untuk mengendalikan nilai yang berpotensi nol.
Artikel ini akan memperkenalkan orElseThrow(), kaedah penting bagi kelas Pilihan, dan menunjukkan penggunaannya melalui kod sampel.
Penggunaan asas kelas Pilihan: Kelas
Pilihan ialah kelas kontena yang diperkenalkan dalam Java 8, digunakan untuk membalut nilai yang mungkin nol. Ia menyediakan beberapa kaedah untuk membantu kami menangani situasi nilai nol. Mula-mula, mari kita lihat penggunaan asas kelas Pilihan.
Contoh kod:
String name = "Alice"; Optional<String> optionalName = Optional.ofNullable(name); // 另一种方式创建空的 Optional Optional<String> emptyOptional = Optional.empty();
Contoh kod:
if (optionalName.isPresent()) { System.out.println("存在值"); } else { System.out.println("值为空"); }
Contoh kod:
if (optionalName.isPresent()) { System.out.println("姓名为:" + optionalName.get()); } else { System.out.println("姓名为空"); }
Penggunaan orElseThrow():
Sebagai tambahan kepada penggunaan asas di atas, kelas Pilihan juga menyediakan kaedah yang berkuasa atauElseThrow(). Kaedah ini akan membuang pengecualian yang ditentukan apabila objek Pilihan tidak mengandungi nilai.
Contoh kod:
Double price = null; Double finalPrice = Optional.ofNullable(price) .orElseThrow(() -> new IllegalArgumentException("价格为空")); System.out.println("最终价格为:" + finalPrice);
Dalam kod di atas, jika harga kosong, IllegalArgumentException akan dilemparkan.
Contoh kod:
class PriceNullException extends RuntimeException { public PriceNullException(String message) { super(message); } } Double price = null; Double finalPrice = Optional.ofNullable(price) .orElseThrow(() -> new PriceNullException("价格为空")); System.out.println("最终价格为:" + finalPrice);
Dalam kod di atas, jika harga kosong, pengecualian PriceNullException tersuai akan dilemparkan.
Kesimpulan:
Artikel ini memperkenalkan cara menggunakan kaedah orElseThrow() bagi kelas Pilihan dalam Java 8, dan menunjukkan cara mengendalikan kemungkinan nilai nol melalui contoh kod. Menggunakan kelas Pilihan boleh menjadikan kod kami lebih stabil dan selamat, dan mengurangkan kekerapan pengecualian penuding nol. Walau bagaimanapun, anda juga perlu berhati-hati untuk tidak keterlaluan apabila menggunakan kelas Pilihan, supaya kod tersebut menjadi verbose dan sukar difahami. Saya harap artikel ini dapat membantu pembaca lebih memahami dan menggunakan kelas Pilihan.
Atas ialah kandungan terperinci Kelas pilihan dalam Java 8: Cara mengendalikan kemungkinan nilai nol menggunakan kaedah orElseThrow(). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!