@Nullable penjelasan penggunaan

Aku melihat beberapa metode di jawa dinyatakan sebagai:

void foo(@Nullable Object obj)
{ ... }

Apa's makna @Nullable di sini? Artinya input bisa menjadi nol?

Tanpa penjelasan, masukan masih dapat null, jadi saya kira bahwa's tidak hanya itu?

Mengomentari pertanyaan (3)
Larutan

Hal ini membuat jelas bahwa metode menerima nilai null, dan jika anda meng-override metode, anda juga harus menerima nilai-nilai null.

Hal ini juga berfungsi sebagai petunjuk untuk kode analisa seperti FindBugs. Misalnya, jika metode seperti dereferences argumen tanpa memeriksa null pertama, FindBugs akan mengeluarkan bunyi peringatan.

Komentar (1)

Penjelasan ini umumnya digunakan untuk menghilangkan NullPointerExceptions. @Nullable sering mengatakan bahwa parameter ini mungkin null. Contoh yang baik dari perilaku tersebut dapat ditemukan di Google Guice. Dalam hal ini ringan dependency injection framework anda katakan bahwa ketergantungan ini mungkin null. Jika anda akan mencoba untuk lulus null dan tanpa penjelasan kerangka akan menolak untuk melakukan itu's pekerjaan.

Apa yang lebih @Nullable dapat digunakan dengan @NotNull penjelasan. Di sini anda dapat menemukan beberapa tips bagaimana menggunakannya dengan benar. Kode pemeriksaan di IntelliJ cek penjelasan dan membantu untuk men-debug kode.

Komentar (0)

Alat-alat yang berbeda dapat menafsirkan makna @Nullable yang berbeda. Misalnya, Checker Framework dan FindBugs menangani @Nullable berbeda.

Komentar (0)