是否可以强制使用 Java 注释的值?

2022-08-31 16:56:58

Java 允许在注解中定义值,例如:

public @interface MyAnnotation {
    int MyValue();
}

尽管可以为注释设置默认值,但我想知道是否可以将其强制化。我的意思是强制用户在注释类或字段时提供值。MyValueMyValue

我浏览了文档,但找不到任何东西。是否有人有解决此问题的方法,或者根本不可能强制使用注释的值?


答案 1

如果未指定默认值,则它是必需的。对于不使用属性的注释的示例,将生成以下编译器错误:MyValue

注释 MyAnnotation 缺少 MyValue


答案 2

鉴于

public @interface MyAnnotation {
    int MyValue();
}

一个类

@MyAnnotation
public class MyClass {

}

将是没有值的编译错误。


推荐