Какой смысл в Lombok аннотация @NonNull
для метода?Что делает использование @NonNull для метода void?
class MyClass {
@NonNull
void run() {
// code here
}
}
Мы проверяем экземпляр класса MyClass (MyClass obj == null)?
Какой смысл в Lombok аннотация @NonNull
для метода?Что делает использование @NonNull для метода void?
class MyClass {
@NonNull
void run() {
// code here
}
}
Мы проверяем экземпляр класса MyClass (MyClass obj == null)?
Для метода void
, нет смысла.
Для метода с типом возвращаемого значения, это показывает, что он не возвращает нуль:
@NonNull String foo() {
// I promise I won't return null herre!
}
Судя по tutorial, похоже, это не произведет проверку в рамках метода для того, чтобы он не равен, но он сообщает любому абоненту, что они могут реально ожидать возвращения ненулевого значения.
Вы можете использовать @NonNull
по параметру метода или конструктора, чтобы ломбок сгенерировал для вас оператор проверки нулевой отметки.
Lombok всегда обрабатывал любые аннотации с именем @NonNull
на поле в качестве сигнала для генерации нулевой проверки, если lombok генерирует для вас весь метод или конструктор, например, @Data
. Теперь, однако, использование собственного lombok @lombok.NonNull
по параметру приводит к вставке только нулевой проверки внутри вашего собственного метода или конструктора.
Да, я знаю. Но вопрос о 'void method' без параметров. На мой взгляд, если мы можем использовать такую аннотацию в упомянутом случае, то здесь у «Ломбока» есть некоторые вводящие в заблуждение вещи. Потому что здесь бессмысленно использовать @NonNull. – barbara
@ user3430490 Вы просто плагиате [документы] (http://projectlombok.org/features/NonNull.html), не указав ссылку или не выделив ее как цитату и не ответив на вопрос. –
ok, ok ... Я ищу здесь (http://homepages.ecs.vuw.ac.nz/~djp/JACK/), и я могу сказать, что @NonNull должен избегать пустых объектов в методе. Надеюсь, это поможет ... –
@blank: Это не параметр. –