[英]IntDef annotation in Android
在Android中,建議開發人員不要使用enum
。 Android支持enum
,而不是enum
,例如@IntDef
。
我試過這個注釋是一個簡單的項目。 我的代碼如下所示:
@IntDef({APPLE, BANANA})
public @interface Fruit {
}
public static final int APPLE = 1;
public static final int BANANA = 2;
private @Fruit int mFruit;
例如,如果我嘗試將變量mFruit
設置為6, mFruit
看到消息,提示它必須是APPLE
或BANANA
。 很好,效果很好。
當我將此代碼粘貼到第二個應用程序時,我嘗試將變量設置為不同於APPLE
或BANANA
值,它可以工作並且沒有警告消息,並且我能夠構建應用程序。
因此,我的問題是:有什么方法可以禁用或啟用對此注釋的支持? 是什么導致這種不同的行為,有些項目支持它而有些項目不支持呢? 我為兩個項目都使用了相同版本的Android Studio。
您可能需要明確設置保留策略。 查看官方的Android IntDef示例 ,其中將保留策略設置為@Retention(SOURCE)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.