如何为Annotation添加限制?

时间:2011-05-10 10:03:50

标签: java annotations

Java注释

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface OneAnnotation{
    String aNumber();        
}

说我想只允许那些匹配的字符串格式(“[\ d] +”),其他字符串将被编译器错误或其他通知“失败”。 有没有做到这一点---在注释方法上添加对返回值的限制。

有效的:

@OneAnnotation(aNumber = “1234”)

无效:

@OneAnnotation(aNumber = “XXXX”)

1 个答案:

答案 0 :(得分:1)

您可以使用annotation processing实现此目的。

除此之外,无法为注释添加任意限制。

但是:如果你想要一个数字,为​​什么不在这里使用intlong这样的数字类型(取决于你的范围要求)?