Я тільки почав використовувати @NotNullанотацію з Java 8 і отримував деякі несподівані результати.
У мене такий метод:
public List<Found> findStuff(@NotNull List<Searching> searchingList) {
... code here ...
}
Я написав тест JUnit, передаючи нульове значення для аргументу searchList. Я очікував, що трапиться якась помилка, але вона пройшла так, ніби анотації там не було. Це очікувана поведінка? З того, що я зрозумів, це дозволило вам пропустити написання нульового коду перевірки котлована.
Пояснення того, що саме слід робити @NotNull, було б дуже вдячно.
@NotNull- це лише примітка. Анотації нічого не роблять самостійно. Їм потрібен процесор анотацій під час компіляції або щось, що обробляє його під час виконання.