Java枚举 自增赋值
Java枚举类型如何实现类似C++的自增赋值?
在C++中可以这么写:
enum MSG_TYPE {
MSG_LOGIN = 500,
MSG_LOGOUT,
MSG_REGISTER,
MSG_SEARCH,
/* ... */
};
但是在Java中就必须写一大坨,必须依次给每个枚举常量赋值,例如下面代码
public enum MSG_TYPE{
MSG_LOGIN(500),
MSG_LOGOUT(501),
MSG_REGISTER(502),
MSG_SEARCH(503),
/* ... */
MSG_ADD(600);
private int egId;
private MSG_TYPE(int val){
this.egId = val
}
public getEgId(){
return this.egId;
}
}
大家有没有什么好的替代办法?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
java中enum并没那么智能,是从0开始自增的。可以维护一个static变量实现任意自增:
结果:
Java没这么智能, 一般就是手动写写,灵活些。
我也写了一篇文章,跟排名第一的同学类似:Java实现自增枚举