带抽象方法的枚举
2015-10-25 20:15
197 查看
近期的项目里用到了枚举,用于列出消息的类型。最初我是这么写的
public enum MessageTypeName {
公告,
订购,
退款
}
但是在别人调用的时候总是总是 点+中文,组长说为了让我们的代码更加的具有通用性,更加国际化,要我想办法改成英文的。但是数据库只有一个字段, 有没有什么办法可以在写代码的时候用英文,而存储或显示的时候用中文呢?
带抽象方法的枚举就派上了用途:
public enum MessageTypeName {
/** 公告 */
NOTICE("NOTICE") {
public String getName() {
return "公告";
}
},
/** 订购 */
BUY("BUY") {
public String getName() {
return "订购";
}
},
/** 退款 */
REFUND("REFUND") {
public String getName() {
return "退款";
}
};
public abstract String getName();
private String value;
private MessageTypeName(String value) {
this.value = value;
}
} 这样,在调用的时候只需MessageTypeName.NOTICE.getName()便可以获得中文名称啦!
public enum MessageTypeName {
公告,
订购,
退款
}
但是在别人调用的时候总是总是 点+中文,组长说为了让我们的代码更加的具有通用性,更加国际化,要我想办法改成英文的。但是数据库只有一个字段, 有没有什么办法可以在写代码的时候用英文,而存储或显示的时候用中文呢?
带抽象方法的枚举就派上了用途:
public enum MessageTypeName {
/** 公告 */
NOTICE("NOTICE") {
public String getName() {
return "公告";
}
},
/** 订购 */
BUY("BUY") {
public String getName() {
return "订购";
}
},
/** 退款 */
REFUND("REFUND") {
public String getName() {
return "退款";
}
};
public abstract String getName();
private String value;
private MessageTypeName(String value) {
this.value = value;
}
} 这样,在调用的时候只需MessageTypeName.NOTICE.getName()便可以获得中文名称啦!
相关文章推荐
- 要慎用mysql的enum字段的原因
- 枚举的用法详细总结
- c#入门之枚举和结构体使用详解(控制台接收字符串以相反的方向输出)
- 理解C#中的枚举(简明易懂)
- C#枚举中的位运算权限分配浅谈
- C++基础入门教程(四):枚举和指针
- FileShare枚举的使用小结(文件读写锁)
- Java枚举类用法实例
- c++ 尽量不要使用#define 而是用const、enum、inline替换。
- 枚举窗口句柄后关闭所有窗口示例
- mysql之set与enum的介绍
- javascript模拟枚举的简单实例
- 深入剖析JavaScript中的枚举功能
- Python中模拟enum枚举类型的5种方法分享
- 枚举和宏的区别详细解析
- 深入理解C#中的枚举
- C#实现获取枚举中元素个数的方法
- java中枚举的详细使用介绍
- java枚举的使用示例
- Java枚举详解及使用实例(涵盖了所有典型用法)