java方法参数注解
package cn.ljz.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Inherited;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(ElementType.PARAMETER)@Retention(RetentionPolicy.RUNTIME) @Documented @Inherited public @interface Test {public int id();public String name() default "lidong";public int age();public Test2 test2() default Test2.FILE;}package cn.ljz.annotation;public enum Test2 {JSON,FMJSON,FMLOADJSON,FJSON,TEXT,FILE}package cn.ljz.annotation;import java.lang.annotation.Annotation;import java.lang.reflect.Method;public class Main {public void test1(@Test(id = 0, age = 0) String a){}public void test2(@Test(id = 0, age = 0,name="yyl") String b){}public void test3(@Test(id = 10, age = 10,name="yyl") int c){}public static void main(String[] args) {Method[] m = Main.class.getDeclaredMethods();Annotation[][] an = null;for(Method method:m){ an = method.getParameterAnnotations(); System.out.println(method.getParameterTypes() );if(an.length>0){for(int i=0;i<an.length;i++){for(int j=0;j<an[i].length;j++){Test t = (Test) an[i][j];System.out.println(method.getName()+","+t.age()+","+t.id()+","+t.name()+","+t.test2());}}}}}}