bsr*_*bsr 3 java enums annotations
不确定标题是否具有误导性,但要求如下.
我需要使用字符串值作为自定义注释的输入.使用枚举值时,IDE会给出
java属性值必须是常量.
@test("test") // works
@test(Const.myEnum.test.toString()) //java attribute value must be constant
Run Code Online (Sandbox Code Playgroud)
我读到了字符串值不可变的重要性.是否有可能通过枚举(而不是公共静态最终String hack).
谢谢.
枚举可用于注释.你应该这样做:
@test(Const.myEnum.test)
Run Code Online (Sandbox Code Playgroud)
假设您已经定义了这样的枚举:
package Const;
public enum myEnum {
test;
}
Run Code Online (Sandbox Code Playgroud)
和这样的注释:
public @interface test {
myEnum value();
}
Run Code Online (Sandbox Code Playgroud)