void doSomething(@WebParam(name="paramName") int param) { }
Method method = Test.class.getDeclaredMethod("doSomething", int.class);
Annotation[][] annotations = method.getParameterAnnotations();
for (int i = 0; i < annotations.length; i ++) {
for (Annotation annotation : annotations[i]) {
System.out.println(annotation);
}
}
Это выводит:
@javax.jws.WebParam(targetNamespace=, partName=, name=paramName,
header=false, mode=IN)
Для объяснения - массив двумерный, потому что сначала у вас есть массив параметров, а затем для каждого параметра у вас есть массив аннотаций.
Вы можете проверить тип ожидаемой аннотации с помощью instanceof
(или Class.isAssignableFrom(..)
.