Rumah > Java > javaTutorial > Anotasi `@NotNull` Mana Yang Perlu Saya Gunakan dalam Kod Java Saya?

Anotasi `@NotNull` Mana Yang Perlu Saya Gunakan dalam Kod Java Saya?

Mary-Kate Olsen
Lepaskan: 2024-12-15 09:57:15
asal
487 orang telah melayarinya

Which `@NotNull` Annotation Should I Use in My Java Code?

Memilih Anotasi @NotNull Optimum untuk Kod Java Anda

Pengenalan

Dalam pembangunan Java , anotasi kebolehbatalan memainkan peranan penting dalam meningkatkan kebolehbacaan kod dan memanfaatkan alat analisis kod statik untuk menghalang NullPointerExceptions. Walau bagaimanapun, banyak anotasi yang tersedia boleh menjadi terlalu banyak, menyebabkan kekeliruan tentang yang mana satu untuk dipilih.

Analisis Perbandingan

Untuk membimbing keputusan anda, berikut ialah perbandingan beberapa @NotNull yang biasa digunakan anotasi:

  • javax.validation.constraints.NotNull: Direka bentuk untuk pengesahan masa jalan, bukan analisis statik.
  • edu.umd.cs.findbugs .anotasi.NonNull: Digunakan oleh FindBugs (sekarang ditamatkan) dan penggantinya SpotBugs.
  • javax.annotation.Nonnull: Berdasarkan JSR-305, yang tidak aktif tetapi mungkin disokong oleh FindBugs.
  • org.jetbrains.annotations.NotNull: Digunakan oleh IntelliJ IDEA untuk statik analisis.
  • lombok.NonNull: Mengawal penjanaan kod dalam Projek Lombok.
  • androidx.annotation.NonNull: Anotasi penanda tersedia dalam Android.
  • org.eclipse.jdt.annotation.NonNull: Digunakan oleh Eclipse untuk analisis kod statik.

Pengesyoran

Sejak JSR-305, yang bertujuan untuk menyeragamkan @NonNull dan anotasi @Nullable, telah tidak aktif selama bertahun-tahun, tiada konsensus yang jelas. Walau bagaimanapun, pendekatan pragmatik boleh diambil:

Syntax

Untuk sintaks yang bersih dan ringkas, adalah disyorkan untuk menggunakan javax.annotation.Nonnull. Ia adalah yang paling pendek dan sejajar dengan gaya pilihan untuk mengelakkan rujukan eksplisit kepada kit alat pihak ketiga.

Pelaksanaan

Walaupun kebanyakan anotasi @NotNull mempunyai pelaksanaan yang remeh, javax .anotasi.Nonnull mempunyai yang lebih panjang. Walau bagaimanapun, ia mempunyai kelebihan sebagai anotasi masa jalan, membenarkan semakan masa jalan sebagai tambahan kepada masa kompilasi.

Konteks Penggunaan

Beri perhatian kepada konteks penggunaan disokong oleh anotasi yang berbeza. Sesetengah pakej, seperti org.jetbrains.annotations, membenarkan anotasi pada pembolehubah setempat, manakala yang lain tidak. Pertimbangkan keperluan kod dan rantai alat khusus anda apabila memilih anotasi yang sesuai.

Atas ialah kandungan terperinci Anotasi `@NotNull` Mana Yang Perlu Saya Gunakan dalam Kod Java Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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