Ho appena iniziato a utilizzare l' @NotNullannotazione con Java 8 e ho ottenuto risultati inaspettati.
Ho un metodo come questo:
public List<Found> findStuff(@NotNull List<Searching> searchingList) {
... code here ...
}
Ho scritto un test JUnit passando il valore Null per l'argomento researchList. Mi aspettavo che accadesse qualche tipo di errore, ma è passato come se l'annotazione non fosse presente. Questo comportamento è previsto? Da quello che ho capito, questo era per permetterti di saltare la scrittura del codice di controllo nullo della caldaia.
Una spiegazione di cosa dovrebbe fare esattamente @NotNull sarebbe molto apprezzata.
@NotNullè solo un'annotazione. Le annotazioni non fanno nulla da sole. Hanno bisogno di un processore di annotazione in fase di compilazione o di qualcosa che lo elabori in fase di esecuzione.