我有一个枚举:
public enum AppEnums {
SERVICE_ERROR,
CONNECTION_ERROR;
}
我想在Android Annotation的intDef中使用它:
@IntDef({AppEnums.CONNECTION_ERROR, AppEnums.SERVICE_ERROR})
public @interface ServiceErrors {
}
错误显示:
找到不兼容的类型,需要:'long'
我该如何处理这种不兼容性?
我不想手动处理AppEnum参数的值,枚举通常会自动创建值。 AppEnums.CONNECTION_ERROR.ordinal()
返回枚举参数的整数值,但在这里不起作用。
@IntDef
只适用于整数。如果您想使用枚举类型,就不需要@IntDef
。只需将枚举作为参数即可。 - Gabriele Mariotti