ElementType.LOCAL_VARIABLE目前基本没用

阅读更多
jdk5.0引入Annotation语法,@Target中的ElementType包括
ElementType.ANNOTATION_TYPE	应用于其他注解的元注解
ElementType.CONSTRUCTOR	构造函数
ElementType.FIELD	字段
ElementType.LOCAL_VARIABLE	方法中的本地变量
ElementType.METHOD	方法
ElementType.PACKAGE	包
ElementType.PARAMETER	方法的参数
ElementType.TYPE	类,接口或者枚举声明

ElementType.LOCAL_VARIABLE是方法中的本地变量。但是目前的javac不会在bytecode中的local variable中保存annotation信息,所以就无法在runtime时获取该annotaion。也就是说ElementType.LOCAL_VARIABLE只能用在RetentionPolicy.SOURCE情况下。

google了一下,JSR308会解决该问题
http://jcp.org/en/jsr/detail?id=308
http://groups.csail.mit.edu/pag/jsr308/

你可能感兴趣的:(Google)