java中enum字段需要持久化时的处理
来源:互联网 发布:电力组态软件 编辑:程序博客网 时间:2024/06/09 16:34
有时候enum定义的字段信息需要保存到数据库,但数据库中保存的不是字符串,而是数字。
例如:
public enum Color { RED, GREEN, YELLOW; }
用Color.RED.toString(),返回的是字符串“RED”,而我们数据库中保存的是数字类型的:0代表RED,1代表GREEN,2代表YELLOW,
怎么办呢?这时,可以为每个枚举定义一个值,如下:
public enum Color { RED(0), GREEN(1), YELLOW(2); private Color(int value) { this.value = value; } private int value; public int value() { return value; } }
这样,就可以通过Color.RED.value()获取到要保存到数据库中的值。
编译器默认会添加一个如下的方法:
public static Color valueOf(String);
可以自己再写一个通过int参数(从数据库中查询到的)获取枚举的重载方法:
public static Color valueOf(int value) { switch (value) { case 0 : return RED; case 1 : return GREEN; case 2 : return YELLOW; default : return null; } }
感觉,这种情况(用Color.RED.value())下用枚举没有用常量方便。
0 0
- java中enum字段需要持久化时的处理
- MyBatis 中如何调用 Java 的 enum (枚举) 字段
- JNI 中处理 JAVA enum
- Java 爲什麽需要持久化
- Java 爲什麽需要持久化
- java为什么需要持久化?
- Java中enum的使用
- java中enum的使用
- Java中Enum的使用
- Java 中Enum 的扩展
- java 中enum的用法
- java中enum的用法
- Java中enum的本质
- Java中Enum的用法
- JAVA中【enum】的使用
- java数据持久化处理
- java数据持久化处理
- Enum枚举类型持久化
- codeforces GOOD BYE 2013
- SpringAOP模型图解笔记
- StaticLinkList 静态链表
- oracle 临时表空间的增删改查
- 十大必备学习网站
- java中enum字段需要持久化时的处理
- Hibernate优势
- android ndk 崩溃捕获(cocos2d-x 之android崩溃捕获)
- c#中如何跨线程调用windows窗体控件?
- Java使用Runtime.getRuntime().exec()时的运行输出 问题解决
- Linked List Cycle II
- 《Effective C++》学习笔记条款32 确定你的public继承塑模出is-a关系
- 安装和使用JD-Eclipse插件
- Apache无法启动服务解决办法一