首页 > 代码库 > java注解和反射的结合使用
java注解和反射的结合使用
首先反射注解,那么保留策略必须是Runtime,也就是@Retention(RetentionPolicy.RUNTIME)
①定义一个注解类
@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) public @interface MyAnnotation { int value(); }
②在定义一个类使用注解类
public class MyBean { @MyAnnotation(20) private int value; @Override public String toString() { return String.valueOf(value); } }
③在main方法里面反射注解
public static void main(String[] args) { try { Field field = MyBean.class.getDeclaredField("value");//获取成员变量value field.setAccessible(true);//将value设置成可访问的 if(field.isAnnotationPresent(MyAnnotation.class)){//判断成员变量是否有注解 MyAnnotation myAnnotation = field.getAnnotation(MyAnnotation.class);//获取定义在成员变量中的注解MyAnnotation int value = http://www.mamicode.com/myAnnotation.value();//获取定义在MyBean的MyAnnotation里面属性值 MyBean myBean=new MyBean(); field.setInt(myBean, value);//将注解的值20可以赋给成员变量value System.out.println(myBean);//验证结果 } } catch (Exception e) { e.printStackTrace(); }; }
输出结果
java注解和反射的结合使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。