От ExecutableType мы можем проверить типы параметров с помощью getParameterTypes(). Однако я не могу найти механизм для проверки имен параметров.Проверка имен параметров из обработчика аннотации
Я понимаю, что в < = Java 7 имена параметров не сохраняются в байт-коде. Тем не менее, я все еще ожидал бы получить доступ к именам аргументов arg0
, arg1
.
Если компилятор является компилятором Java 8, работающим с флагом -parameters
, я бы ожидал получить исходные имена параметров из исходного кода.
Есть ли механизм, который я пропускаю? Кажется странным, что мы можем запросить это, используя API отражения, используя Parameter.getName(), если мы не можем получить эту информацию во время обработки аннотации.
Событие с ExecutableElement имена типов всегда возвращаются как «arg0», ... – ctron
Извините, поздний ответ на этот комментарий. Имена 'arg0',' arg1' и т. Д. Адресуются в вопросе - если вы строите Java 7 или ранее или Java 8 без флага '-parameters', то имена параметров не сохраняются в байт-коде , В этом случае они отображаются как 'arg0',' arg1' и т. Д. – jbunting