Saya baru saja mulai menggunakan @NotNullanotasi dengan Java 8 dan mendapatkan beberapa hasil yang tidak terduga.
Saya punya metode seperti ini:
public List<Found> findStuff(@NotNull List<Searching> searchingList) {
... code here ...
}
Saya menulis tes JUnit yang meneruskan nilai nol untuk argumen searchingList. Saya mengharapkan beberapa jenis kesalahan terjadi tetapi itu berlalu seolah-olah penjelasan itu tidak ada. Apakah ini perilaku yang diharapkan? Dari apa yang saya mengerti, ini adalah untuk memungkinkan Anda melewati penulisan kode cek nol boilerplate.
Penjelasan tentang apa yang seharusnya dilakukan oleh @NotNull akan sangat dihargai.
@NotNullhanyalah anotasi. Anotasi tidak melakukan apa-apa sendiri. Mereka memerlukan prosesor anotasi pada waktu kompilasi, atau sesuatu yang memprosesnya saat runtime.