Аннотации Java: справочник для начинающих
Аннотации в Java - это механизм для добавления мета-данных в исходный код, которые могут использоваться во время компиляции, развертывания или времени выполнения программы. Они могут быть применены к классам, методам, полям, параметрам методов или другим элементам Java.
Примеры наиболее распространенных аннотаций в Java:
1) @Override - указывает компилятору, что метод в классе должен переопределять метод с такой же сигнатурой в родительском классе.
Пример:
class Animal {
public void eat() {
System.out.println("Animal is eating");
}
}
class Cat extends Animal {
@Override
public void eat() {
System.out.println("Cat is eating");
}
}
2) @SuppressWarnings - подавляет предупреждения компилятора для определенного элемента кода.
Пример:
@SuppressWarnings("unchecked")
List list = (List) rawList;
3) @Deprecated - указывает, что метод или класс устарел и не рекомендуется для использования.
Пример:
@Deprecated
public void oldMethod() {
// implementation
}
4) @FunctionalInterface - указывает, что интерфейс определяет функциональный интерфейс, то есть интерфейс с единственным абстрактным методом.
Пример:
@FunctionalInterface
public interface Calculator {
int calculate(int a, int b);
}
5) @SafeVarargs - указывает компилятору, что метод может быть вызван с переменным числом аргументов одного типа без опасных операций (как добавление или удаление элементов) для массива, производного от переменного аргумента.
Пример:
@SafeVarargs
public final List asList(T... elements) {
if (elements.length == 0)
return Collections.emptyList();
else
return new ArrayList<>(Arrays.asList(elements));
}
Аннотации в Java могут быть определены как встроенные, так и пользовательские. Они имеют множество применений, от облегчения разработки до написания инструментов автоматической генерации кода. Они также могут повысить читаемость и понимание кода.