2012-03-29 9 views
8

2つの引数を必要とする注釈はありません。注釈内の列挙体

私はこのようにそれを使用したいと思います:

@RequestMapping(MyUrls.FOO.a, MyUrls.FOO.b) 

これは私がaまたは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; 
    } 
} 

それを実装想像する方法です。どのような選択肢

はである私が持っているよりも立派

class MyUrls { 
    public static String FOO_A = ""; 
    public static String FOO_B = ""; 
    // ... 
} 

答えて

2

静的な内部クラスを使用して文字列をグループ化できます。

class MyUrls { 
    public static final class Foo{ 
     public static final String A = ""; 
     public static final String B = ""; 
     // ... 
    } 
} 
//works as 
MyUrls.Foo.A 
3

あなたの質問は、質問のようには見えませんが、宣言として、私はあなたに同意しますが。 注釈を定義するときにenumメンバーを使用することはできません。 「実」定数、すなわち静的最終フィールドおよび定数式のみが適用可能である。だから、今はいい選択肢がありません。