Есть ли способ получить аннотации параметров метода в дочернем классе? Я пробовал использовать getParameterAnnotations, но он не работает. Я написал тест-класс для демонстрации:Параметр метода Аннотации в переопределенных методах
public class ParameterAnnotationInheritanceTest {
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
@Inherited
public @interface MockAnnotation {
}
public class A {
public void test(@MockAnnotation String value) {
}
}
public class B extends A {
@Override
public void test(String value) {
}
}
@Test
public void TestA() throws NoSuchMethodException, SecurityException {
Method AMethod = A.class.getMethod("test", String.class);
Annotation[][] AMethodParameterAnnotations = AMethod.getParameterAnnotations();
assertTrue(Arrays.asList(AMethodParameterAnnotations[0]).size() > 0);
}
@Test
public void TestB() throws NoSuchMethodException, SecurityException {
Method BMethod = B.class.getMethod("test", String.class);
Annotation[][] BMethodParameterAnnotations = BMethod.getParameterAnnotations();
assertTrue(Arrays.asList(BMethodParameterAnnotations[0]).size() > 0);
}
}
Заранее благодарен!
Hi Kateriana. спасибо за Ваш ответ. Метод должен быть переопределен методом, потому что мне нужно добавить некоторые аннотации к самому методу в дочернем классе, я хочу, чтобы наследовать аннотации параметров. Но я понял, почему это невозможно. –
Привет, Тьяго. Пожалуйста, отметьте это как правильный ответ на ваш вопрос, если это так ;-) –