首页 > 代码库 > Java解析注解
Java解析注解
package com.itbuluoge.anno; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Test { public static void trackUseCases(List<Integer> useCases,Class<?> cl) { for(Method m:cl.getDeclaredMethods()) { UseCase uc=m.getAnnotation(UseCase.class); if(uc!=null) { System.out.println("FOUND:"+uc.id()+" "+uc.description()); } } for(int i:useCases) { System.out.println("Warning.."+i); } } public static void Case(Class<?> cl) { for(Method m:cl.getDeclaredMethods()) { UseCase uc=m.getAnnotation(UseCase.class); if(uc!=null) { System.out.println("FOUND:"+uc.id()+" "+uc.description()); } } } /** * @param args */ public static void main(String[] args) { //List<Integer> useCases=new ArrayList<Integer>(); //Collections.addAll(useCases, 41,42); //trackUseCases(useCases,Testable.class); Case(Testable.class); } }
package com.itbuluoge.anno; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.junit.Test; @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @Documented @interface UseCase { public int id(); public String description() default "no des"; } public class Testable { @UseCase(id=19,description="中国人") public void say() { } @UseCase(id=19) public void listen() { } }
输出结果
Java解析注解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。