【发布时间】:2017-11-03 12:52:14
【问题描述】:
我正在尝试用 IntDef 注释替换源代码中的一些枚举。我一直在关注this 文档。
我有一个变量用于保存以前是枚举的 ViewMode。现在我已将其更改为如下所示。
@Retention(RetentionPolicy.SOURCE)
@IntDef({ViewMode.VIEW_MODE_LIST_VIEW, ViewMode.VIEW_MODE_CARD_VIEW})
public @interface ViewMode {
int VIEW_MODE_LIST_VIEW = 0;
int VIEW_MODE_CARD_VIEW = 1;
}
@ViewMode
public int currentViewMode = ViewMode.VIEW_MODE_LIST_VIEW;
现在要测试这是否安全,我在方法中做了以下操作
this.currentViewMode = 987; //currentViewMode should be 0 or 1. Nothing else.
但这现在没有给我编译错误。我在这里遗漏了什么吗?
【问题讨论】:
-
你的意思是“现在给我一个编译错误”(这是你写的),还是“没有给我一个编译错误”?
-
@mernst 感谢您指出。那是一个错误。更正了
标签: java android annotations