我编写了一个自定义注释,如下所示:
package annotation;
import static java.lang.annotation.ElementType.METHOD;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.RUNTIME)
@Target(METHOD)
public @interface FieldRule {
String value();
}
然后使用这个注释的类是:
package annotation;
public class ScreeningVO {
String rrcStatusCode;
public String getRrcStatusCode() {
return rrcStatusCode;
}
@FieldRule("RRC_RULE")
public void setRrcStatusCode(String rrcStatusCode) {
this.rrcStatusCode = rrcStatusCode;
}
public static void main(String[] args) {
ScreeningVO s = new ScreeningVO();
s.setRrcStatusCode("Yes");
System.out.println("Testing Annotation");
}
}
现在当我编译这个ScreeningVO编译器时抛出错误:
ScreeningVO.java:11: error: cannot find symbol
@FieldRule("RRC_RULE")
^
symbol: class FieldRule
location: class ScreeningVO
但是提供了注释,并且注释和ScreeningVO都存在于同一个包中。