gpt4 book ai didi

java - 使用 IntDef 的类型安全

转载 作者:太空宇宙 更新时间:2023-11-04 10:59:05 30 4
gpt4 key购买 nike

我正在尝试用 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.

但是现在这并没有给我一个编译错误。我在这里遗漏了什么吗?

最佳答案

您不会收到编译错误,因为枚举的注释只是 lint 检查:请参阅 Improve Your Code with Lint

您应该直接在 Android Studio 中看到错误标记,或者当您从命令行运行 android lint 检查时:请参阅 Improve Your Code with Lint

注意:您还可以将构建配置为自动运行 lint 检查:
请参阅SO: Run lint when building android studio projects
但运行 linter 需要一些时间,因此您可以选择仅针对您的发布版本或仅在 CI 服务器上运行它。

关于java - 使用 IntDef 的类型安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47096278/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com