j2se----annotation

annotation与xml相比的好处:
1。代码和注解是一起的,开发的时候很方便
2。 他支持重构,用eclipse重构很方便

xml的好处:
他修改起来很方便,不要去寻找代码,所以他是维护方便的那种,而注解的话必须重新编译,重新打包,重新发布才能使用


@Target(ElementType.FIELD)  //这个说明是放在字段上,还有很多,如:ANNOTATION_TYPE是放到注解上的,METHOD是放到方法上的,如果不写,默认是什么地方都可以用
@Retention(RetentionPolicy.SOURCE);//说明他的生命周期,SOURCE表明只是在源代码能使用,比如检查什么东西,RUNTIME是运行时使用,

public @interface MyAnno{
   public String name() default "hello"; //这里类型一般是基本类型的,或者是Class,或者是枚举,就连Object都不行
   
   public String value() default "value";
}

如何使用了...?

class TestAnnotation{

   @MyAnno(name="haha")  //这个name="haha"是修改缺省值,如果是@MyAnno("val") ;这个是修改value的缺省值
   public String name;  
}

public class Parser{
  public void parse(Class clazz){
       Field[] fields = clazz.getFields();
       for(Field f : fields){
          if(f.isAnnotationPresent(MyAnno.class)){ //如果字段上存在MyAnno这样的注解
             MyAnno myAnno = f.getAnnotation(MyAnno.class);  //得到MyAnno这个注解
             if(myAnno.value().equals("id")){
               syso("id");
             }else syso("not id");
          }
       }
  }
}


你可能感兴趣的:(eclipse,xml,J2SE,F#)