Je viens de commencer à utiliser l' @NotNull
annotation avec Java 8 et à obtenir des résultats inattendus.
J'ai une méthode comme celle-ci:
public List<Found> findStuff(@NotNull List<Searching> searchingList) {
... code here ...
}
J'ai écrit un test JUnit en passant la valeur nulle pour l'argument searchList. Je m'attendais à ce qu'une erreur se produise, mais elle s'est déroulée comme si l'annotation n'était pas là. Est-ce un comportement attendu? D'après ce que j'ai compris, c'était pour vous permettre d'éviter d'écrire le code de contrôle nul standard.
Une explication de ce que @NotNull est censé faire exactement serait grandement appréciée.
@NotNull
est juste une annotation. Les annotations ne font rien par elles-mêmes. Ils ont besoin d'un processeur d'annotation au moment de la compilation ou de quelque chose qui le traite au moment de l'exécution.