本帖最后由 周素强 于 2012-7-4 13:30 编辑
为注解添加高级属性
1,数组类型的属性:
Int[] arrayAttr default{1,2,3};
@MyAnnotation(arrayAttr={2,3,4})
如果数组属性中只有一个元素,这时候属性值部分可以省略大括号
2,枚举类型的属性:
EnumTest.TrafficLamp lamp();
@MyAnnotation(lamp=EnumTest.TrafficLamp.GREEN)
3,注解类型的属性:
MetaAnnotation annotationAttr() default @MetaAnnotation("xxx");
@MyAnnotation(annotationAttr=@MetaAnnotation("ttttt"))
可以认为上面这个@MyAnnotation是MyAnnotation类的一个实例对象,同样的道理也可以认为上面这个@MetaAnnotation是MetaAnnotation类的一个实例对象,调用代码如下:
MetaAnnotation ma = myAnnotation.annotationAttr();
System.out.println(ma.value());
可能是因为在注解类中定义数组属性时多了() |