Java注解

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


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

有效:

@OneAnnotation(aNumber = “1234”)


无效:

@OneAnnotation(aNumber = “XXXX”)

最佳答案

您可能可以使用annotation processing来实现。

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

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

07-26 02:26