Аннотация @FunctionalInterface используется, чтобы отметить интерфейс как функциональный интерфейс. Эта аннотация позволяет использовать интерфейсы с лямбда-выражениями и ссылками на методы — ключевой фичей, которую внедрили в Java 8. Функциональный интерфейс должен содержать ровно один абстрактный метод, и эта аннотация помогает проверить это требование на этапе компиляции.
Аннотация @Repeatable — это мета-аннотация, которая используется, чтобы отметить другие аннотации. Она указывает, что отмеченную аннотацию можно применять несколько раз к одному и тому же объявлению или типу. Эта возможность позволяет разработчикам применять одну и ту же аннотацию повторно без обёртывания их в контейнерную аннотацию, что делает код чище и понятнее.
@FunctionalInterface
public interface Calculator {
int calculate(int a, int b);
}
Аннотация @Repeatable позволяет тебе применять аннотации вроде @Schedule несколько раз на одном методе без необходимости использовать контейнерную обёртку.
Аннотацию @FunctionalInterface можно применить к интерфейсу, который объявляет несколько абстрактных методов, если один из них обозначен как основной функциональный метод.
Новый — ещё не проверен сообществом
Вы