Работоспособность анотаций
Читая разные колы я увидел то что аннотации могут стоять на разных местах, например:
@Nullable
Strings name;
Или же в средине метода:
void a(@Nullable Object a, Object1, a1){
}
Как работают анотации в разных местах?
Ответы (1 шт):
Аннотация @Nullable означает, что что-то может быть null. Ведь able переводится с английского как "способный".
Как аннотации работают в разных местах?
Я буду говорить конкретно про аннотацию @Nullable(именно она была указанна в вопросе!), так как другие аннотации могут работать по-другому. Вот варианты, где она обычно может стоять.
- Аннотация
@Nullableк полю класса. У вас в вопросе был такой пример:
@Nullable
Strings name;
Тут всё просто, как никогда: в данном случае аннотация означает, что поле может быть null.
- Аннотация
@Nullableк методу. Вот пример:
public class Test {
private String string;
@Nullable
public String someMethod(){
return string;
}
}
В таком случае данная аннотация даёт понять, что метод может вернуть null.
- Аннотация
@Nullableк параметру метода(а не "в середине метода"). Тоже всё просто, аннотация даёт понять, что может по параметрам может придтиnull:
public void someMethod(@Nullable Object object){
//Код метода
}
Вот как работает @Nullable в разных местах. Надеюсь, мой ответ полезен
=). В в вопросе была указана аннотация @Nullable, я отвечал про неё, а остальные, как я говорил, могут работать по-другому. Если в ответе что-то не так, пишите в комментариях, я его перепишу или дополню.