Rumah > Java > javaTutorial > Java Objects.requirenonnull () Contoh

Java Objects.requirenonnull () Contoh

Emily Anne Brown
Lepaskan: 2025-03-07 18:07:48
asal
807 orang telah melayarinya

java objects.requirenonnull () Contoh

Kaedah Objects.requireNonNull() dalam java adalah kaedah utiliti yang terdapat dalam kelas java.util.Objects. Ia digunakan terutamanya untuk memeriksa sama ada rujukan objek adalah batal. Jika objek itu batal, ia melemparkan NullPointerException; Jika tidak, ia mengembalikan objek tersebut. Berikut adalah contoh mudah:

String name = null;
String safeName = Objects.requireNonNull(name, "Name cannot be null"); // This will throw a NullPointerException
System.out.println(safeName);

String name2 = "John Doe";
String safeName2 = Objects.requireNonNull(name2); // This will return "John Doe"
System.out.println(safeName2);
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, panggilan pertama ke Objects.requireNonNull() akan membuang NullPointerException kerana name adalah null. Panggilan kedua akan berjaya mengembalikan "John Doe" kerana name2 tidak batal. Kelebihan utama ialah ini menjadikan pemeriksaan null anda lebih ringkas dan boleh dibaca daripada pemeriksaan tradisional if (name == null), terutamanya apabila digabungkan dengan mesej ralat deskriptif.

  • Pengesahan parameter kaedah: Ini boleh dikatakan kes penggunaan yang paling biasa. Sebelum melakukan operasi pada objek yang diluluskan sebagai parameter kaedah, anda boleh menggunakan Objects.requireNonNull() untuk memastikan ia tidak batal. Ini menghalang NullPointerExceptions yang tidak dijangka dalam logik kaedah. Ini meningkatkan kejelasan kod anda dengan menyatakan dengan jelas keperluan bahawa parameter tidak boleh dibatalkan. Ia membantu mencegah pengecualian penunjuk null dari menyebarkan secara senyap melalui kod anda. Dengan secara eksplisit memeriksa nulls pada titik kemasukan kaedah anda, anda boleh menentukan sumber masalah dengan lebih mudah. Ia mudah berantai dengan operasi lain. Sebagai contoh, anda boleh melakukan sesuatu seperti
  • bagaimana Objects.requireNonNull() mengendalikan nilai null dan apa pengecualian yang dibuang? Jika rujukan objek yang diluluskan kepadanya ialah
  • , ia melemparkan
  • . Jika objek tidak batal, ia hanya mengembalikan objek itu sendiri. Pengecualian yang dibuang selalu menjadi , tetapi anda boleh menyesuaikan mesej (seperti yang terperinci dalam bahagian seterusnya). Ini memastikan bahawa pengecualian penunjuk null ditangani dengan anggun dan jelas, yang membawa kepada pelaporan ralat yang lebih baik dan debugging yang lebih mudah. Mesej pengecualian akan termasuk nama parameter jika anda membekalkannya (lihat contoh di bahagian pertama). Kaedah menawarkan versi yang terlalu banyak yang menerima hujah kedua: rentetan yang mewakili mesej yang akan dimasukkan ke dalam if (object == null) { throw new NullPointerException(); }. Ini membolehkan anda memberikan lebih banyak maklumat khusus konteks tentang mengapa nilai null tidak dapat diterima, meningkatkan nilai diagnostik pengecualian. Ini penting untuk menyahpepijat dan penyelenggaraan.
    String name = null;
    String safeName = Objects.requireNonNull(name, "Name cannot be null"); // This will throw a NullPointerException
    System.out.println(safeName);
    
    String name2 = "John Doe";
    String safeName2 = Objects.requireNonNull(name2); // This will return "John Doe"
    System.out.println(safeName2);
    Salin selepas log masuk
    Salin selepas log masuk

    Ini akan membuang NullPointerException dengan mesej "Nama pelanggan tidak boleh dibatalkan," yang lebih bermaklumat daripada mesej lalai. Mesej yang disesuaikan memberikan konteks yang berharga kepada pemaju yang menyahpepijat isu ini, menjadikannya lebih mudah untuk mengenal pasti punca akar.

    Atas ialah kandungan terperinci Java Objects.requirenonnull () Contoh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan