Я только начал использовать @NotNullаннотацию с Java 8 и получил некоторые неожиданные результаты.
У меня есть такой метод:
public List<Found> findStuff(@NotNull List<Searching> searchingList) {
... code here ...
}
Я написал тест JUnit, передав нулевое значение для аргумента searchList. Я ожидал, что произойдет какая-то ошибка, но она прошла, как будто аннотации не было. Это ожидаемое поведение? Из того, что я понял, это должно было позволить вам пропустить написание стандартного кода проверки на ноль.
Объяснение того, что именно должен делать @NotNull, будет с благодарностью.
@NotNullэто просто аннотация. Аннотации ничего не делают сами по себе. Им нужен процессор аннотаций во время компиляции или что-то, что обрабатывает его во время выполнения.