java获取方法传入参数的注解类型
时间: 2024-05-07 18:21:23 浏览: 86
可以使用Java反射机制中的`getParameterAnnotations()`方法来获取方法参数的注解类型。该方法返回一个二维数组,其中第一个维度表示方法参数的索引,第二个维度表示参数上的注解。下面是一个示例代码:
```java
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
public class AnnotationTest {
public void testMethod(@Deprecated String arg1, @SuppressWarnings("unchecked") String arg2) {
// do something
}
public static void main(String[] args) throws NoSuchMethodException {
Method method = AnnotationTest.class.getDeclaredMethod("testMethod", String.class, String.class);
Annotation[][] annotations = method.getParameterAnnotations();
for (int i = 0; i < annotations.length; i++) {
for (int j = 0; j < annotations[i].length; j++) {
System.out.println("Parameter " + (i + 1) + " Annotation " + (j + 1) + ": " + annotations[i][j].annotationType().getName());
}
}
}
}
```
在上面的示例代码中,`testMethod()`方法中的第一个参数使用了`@Deprecated`注解,第二个参数使用了`@SuppressWarnings`注解。运行该代码,输出如下:
```
Parameter 1 Annotation 1: java.lang.Deprecated
Parameter 2 Annotation 1: java.lang.SuppressWarnings
```
阅读全文