Cara Memilih Anotasi @NotNull yang Betul untuk Kod Java Anda
Untuk meningkatkan kebolehbacaan kod dan menghalang NullPointerExceptions, banyak pembangun berusaha untuk memanfaatkan perkakas seperti analisis statik IDE dan FindBugs. Walau bagaimanapun, percambahan anotasi @NotNull/@NonNull yang setara boleh menjadi menakutkan. Artikel ini menyelidiki pilihan yang tersedia untuk membantu anda memilih yang paling sesuai.
Anotasi Setara
Senarai berikut menyediakan anotasi @NotNull yang setara daripada pelbagai pakej:
Kriteria untuk Pemilihan
Dengan JSR 305 tidak aktif, pilihan anotasi @NotNull melibatkan pendekatan pragmatik.
Sintaksis
Atas sebab gaya, pertimbangkan mengelakkan anotasi yang terikat pada IDE, rangka kerja atau kit alat tertentu. Ini menghapuskan perkara berikut pilihan:
javax.anotation atau javax.validation.constraints?
Membandingkan javax.validation.constraints dan javax.annotation, yang memerlukan kebergantungan tambahan, mendedahkan sedikit keutamaan untuk javax.annotation untuknya ringkasnya.
Pelaksanaan
Persamaan: Semua anotasi @NonNull mempunyai pelaksanaan yang remeh, kecuali:
Perbezaan: Masa Jalan anotasi (javax.annotation, javax.validation.constraints, org.checkerframework.checker.nullness.qual) menyediakan semakan masa jalan tambahan tetapi mempunyai kesan yang kurang daripada yang dijangkakan.
Konteks Boleh Digunakan
Anotasi berbeza dalam konteks yang boleh digunakan:
Kesimpulan
Berdasarkan kriteria yang dibincangkan, pilihan pragmatik untuk anotasi @NotNull ialah javax.annotation.Nonnull. Ringkasnya, anotasi masa jalan dan keserasian dengan konteks JLS menyediakan penyelesaian seimbang untuk kebolehbacaan, analisis statik dan semakan masa jalan.
Atas ialah kandungan terperinci Anotasi `@NotNull` Mana Yang Harus Saya Pilih untuk Kod Java Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!