Как уже упоминали другие , эти аннотации используются для указания IDE, что что-то (аргумент, атрибут и т. Д.) Может (или не может) быть null
.Таким образом, это поможет вам обнаружить, возможно, неправильный код.
Это не правило "100%" *, которое нужно соблюдать, а еще один инструмент , помогающий разработчику кодировать более надежную и менее значимую ошибку.склонный код при использовании IDE.
Если вы программируете в одиночку, команда небольшая, вы работаете в небольшом проекте или в любой подобной ситуации ... и вы чувствуете себя комфортно без него,тогда не используйте это, поскольку это правда, код становится как-то многословным.Это не означает, что это бесполезно для любой из предыдущих ситуаций (на самом деле это может быть очень полезно).
С другой стороны, если вы считаете, что вам нужен дополнительный инструмент, помогающий обнаружить возможный сбойкод против не «обнуляемых» значений, или, например, вы кодируете API, который будет использоваться третьей стороной, и хотите использовать эту аннотацию вместо нескольких assert
внутри блока кода ... затем переходите к нему.
Все дело в том, чтобы оценить плюсы и минусы в проекте, где вы можете применить эти аннотации и решить, может ли это дать вам больше преимуществ, чем "проблемы"это может вызвать.