номер
Подумайте, как бы вы объявили такой метод. Переданный метод может иметь любую подпись. Какой функциональный интерфейс вы собираетесь использовать, чтобы он принимал все подписи? Нет такого функционального интерфейса.
Даже если вы скажете: «Я просто приму один вид подписи», вы все равно не сможете этого сделать. Какой бы функциональный интерфейс вы ни использовали, вы не сможете «увидеть», что делает функциональный интерфейс. Это как черный ящик, принимающий ваши входные данные и разделяющий некоторые выходные данные. Вы не знаете, что внутри во время выполнения.
Чтобы написать метод, который возвращает аннотации метода, у вас должен быть объект Method
, который можно получить из Class<T>
, String
и массив Class
для типов параметров:
public static Annotation[] getAnnotations(Class<?> clazz, String methodName, Class<?>... parameterTypes) throws ...