gpt4 book ai didi

java - 枚举和android注解intDef

转载 作者:IT老高 更新时间:2023-10-28 20:48:03 26 4
gpt4 key购买 nike

我有一个枚举:

public enum AppEnums {
SERVICE_ERROR,
CONNECTION_ERROR;
}

我想在 Android Annotation 的 intDef 中使用它:

@IntDef({AppEnums.CONNECTION_ERROR, AppEnums.SERVICE_ERROR})
public @interface ServiceErrors {
}

错误显示:

incompatible types found, required: 'long'

我能用这种不兼容性做些什么?

我不想手动处理 AppEnum 参数的值,Enum 通常会自动创建值。 AppEnums.CONNECTION_ERROR.ordinal() 返回枚举参数的 int 值,但在这里不起作用。

最佳答案

IntDef 注释的主要思想是使用一组 int 常量,如 enum,但 没有 枚举。在这种情况下,您必须手动声明所有常量。

@IntDef({Status.IDLE, Status.PROCESSING, Status.DONE, Status.CANCELLED})
@Retention(RetentionPolicy.SOURCE)
@interface Status {
int IDLE = 0;
int PROCESSING = 1;
int DONE = 2;
int CANCELLED = 3;
}

您可以查看详细示例here .

关于java - 枚举和android注解intDef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32032503/

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