是否可以制作Java注释';s值是强制性的吗?
Java允许在注释中定义值,例如:是否可以制作Java注释';s值是强制性的吗?,java,annotations,Java,Annotations,Java允许在注释中定义值,例如: public @interface MyAnnotation { int MyValue(); } 虽然可以为MyValue注释设置默认值,但我想知道是否可以将其设置为强制值。我的意思是,在注释类或字段时,强制用户为MyValue提供一个值 我查阅了文件,但什么也没找到。是否有人对此问题有解决方案,或者不可能将批注的值设为强制值?如果未指定默认值,则为强制值。例如,在不使用MyValue属性的情况下使用注释会生成以下编译器错误: 批注MyAnnota
public @interface MyAnnotation {
int MyValue();
}
虽然可以为MyValue
注释设置默认值,但我想知道是否可以将其设置为强制值。我的意思是,在注释类或字段时,强制用户为MyValue
提供一个值
我查阅了文件,但什么也没找到。是否有人对此问题有解决方案,或者不可能将批注的值设为强制值?如果未指定默认值,则为强制值。例如,在不使用
MyValue
属性的情况下使用注释会生成以下编译器错误:
批注MyAnnotation缺少MyValue
给定
班级
@MyAnnotation
public class MyClass {
}
将是一个没有值的编译错误。我没有尝试过这个方法,但是如果您想强制将值设置为特定值,可能会将类型设置为枚举
public @interface MyAnnotation {
Status status();
}
其中Status是一个枚举
public @interface MyAnnotation {
Status status();
}