Java允許在標註值的定義,例如:是否可以使Java註釋的值爲必需的?
public @interface MyAnnotation {
int MyValue();
}
儘管可以設置爲MyValue
標註的默認值,我想知道是否有可能使它強制性的。我的意思是強制用戶在註釋類或字段時爲MyValue
提供值。
我經歷了文檔,但找不到任何東西。有沒有人有這個問題的解決方案,或僅僅是不可能使註解的值是強制性的?
Java允許在標註值的定義,例如:是否可以使Java註釋的值爲必需的?
public @interface MyAnnotation {
int MyValue();
}
儘管可以設置爲MyValue
標註的默認值,我想知道是否有可能使它強制性的。我的意思是強制用戶在註釋類或字段時爲MyValue
提供值。
我經歷了文檔,但找不到任何東西。有沒有人有這個問題的解決方案,或僅僅是不可能使註解的值是強制性的?
如果您不指定默認值,則它是強制性的。對於使用您的註釋,而無需使用MyValue
屬性的示例生成此編譯器錯誤:
annotation MyAnnotation is missing MyValue
鑑於
public @interface MyAnnotation {
int MyValue();
}
類
@MyAnnotation
public class MyClass {
}
將是同出一值編譯錯誤。
我還沒有嘗試過,但如果你想強制值的特定值可能使該類型爲枚舉。
public @interface MyAnnotation {
Status status();
}
Where Status是一個枚舉。
我怎麼錯過了,謝謝! – JVerstry