我想使用關鍵字符串上的註釋來配置該關鍵字屬性的初始值。例如,如何在Java註釋參數中接受多種類型?
@NodeProperty(initialValue = "bar") static final String "FOO";
其他代碼後處理註釋,增加一鍵「FOO」與價值「酒吧」到特定的key-value存儲,如果key「FOO」已經不存在。
我的註釋聲明:
@Retention(RetentionPolicy.RUNTIME)
@interface NodeProperty {
long initialValue(); // I want to accept Strings, ints, byte[], etc. here.
}
但是,我不知道initialValue
時間提前的類型。我想接受所有的基元,字符串和這些數組。
有關如何完成此任何想法?
編輯:
不幸的是,這聽起來像超載註釋參數目前還不可能。下面的答案包含各種解決方法。
接受一個'Object'? – talnicolas
編譯器不允許這樣做,因爲註釋參數類型必須是原始類,類,字符串,枚舉或這些的數組。即使是基元的對象版本也是不允許的。 –
這不是一個類型問題,而是一個「編譯時常量」問題,我想。 –