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

Java Objects.requirenonnull () Contoh

Emily Anne Brown
Emily Anne Brownasal
2025-03-07 18:07:48826semak imbas

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:

<code class="java">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);</code>

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.
    <code class="java">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);</code>

    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:
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