Java 注释中的枚举
我有一个无法更改的注释,它需要两个Java 注释中的枚举,java,static,enums,annotations,Java,Static,Enums,Annotations,我有一个无法更改的注释,它需要两个String参数 我想这样使用它: @RequestMapping( MyUrls.FOO.a, MyUrls.FOO.b ) 这就是我想象的实现它的方式 public enum MyUrls { FOO("a", "b"), BAR("c", "d"); public String a, b; MyUrls(String a, String b) { this.a = a; this.b =
String
参数
我想这样使用它:
@RequestMapping( MyUrls.FOO.a, MyUrls.FOO.b )
这就是我想象的实现它的方式
public enum MyUrls {
FOO("a", "b"),
BAR("c", "d");
public String a, b;
MyUrls(String a, String b) {
this.a = a;
this.b = b;
}
}
这不起作用,因为无法静态解析a
或b
我有什么比以下更好的选择:
虽然你的问题看起来不像一个问题,而是一个宣言,但我同意你的看法。
定义批注时不能使用枚举成员。只有“实”常量,即静态最终字段和常量表达式才适用。因此,现在没有好的选择 可以使用静态内部类对字符串进行分组
class MyUrls {
public static final class Foo{
public static final String A = "";
public static final String B = "";
// ...
}
}
//works as
MyUrls.Foo.A
class MyUrls {
public static final class Foo{
public static final String A = "";
public static final String B = "";
// ...
}
}
//works as
MyUrls.Foo.A