xia小白 2015-05-21 08:34 采纳率: 33.3%
浏览 1739

Android在这种情况下应不应该使用枚举

问题背景:
我们假设这样一种需求,需要在程序运行中,根据不同的网络请求错误显示不同的错误码(errorCode),有的时候还要把错误信息(errorMsg)记入日志。那么认为errorCode和errorMsg存在一对一的映射,所以自然想到利用一个枚举类型表示:
public class enum{

A("1001","errorMsg1"),
B("1002","errorMsg2"),
C("1003","errorMsg3"),
D("1004","errorMsg4"),
...;

//属性声明(都是字符串)
public String errorCode;
public String errorMsg;

//构造方法略

}
我的问题:
枚举的开销是比较大的,现在程序需要最大限度节省手机内存还要保证代码的优雅。
但是我并不知道对于String保存类型的数据,用不用枚举的差别是否很大?(我的枚举大约会有20项)。
如果真的要避免使用枚举,那么如何在保证代码优雅的基础上实现这种需求(期望程序员只需要在某种错误情况下把代表错误的枚举变量保存起来,而不需要关心内部errorCode和errorMsg的映射关系)

  • 写回答

6条回答

  • 全栈极简 博客专家认证 2015-05-21 08:38
    关注

    这个code其实无所谓,可以是枚举,也可以是hashmap。

    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示