Java算法:数据自定义转换器
来源:互联网 发布:php安装包下载链接 编辑:程序博客网 时间:2024/06/03 15:39
解决问题:
实际应用中,很多数据都可以一个键名来管理的,而这个键名通常是可以固定不变的;同时,一组这样的数据可能需要经常在不同的格式或存储介质上相互转换和迁移,所以应该可以一组固定的键名来管理一类或一批类似的数据,把数据的转换和迁移都封装起来,外部只通过一个泛型的统一接口来管理数据的输入输出——这样一来,我们只需要关心数据的流向,而不必要总是考虑数据的转换问题,可以大大减代码量,提高重用率;
结构组成:
数据对象的接口:
作为一个数据对象,不管是数据格式还是介质,都必须是可读可写的,只可能是读写的方法 或数据格式有不同。
/** * 可以读取和写存数据的接口 */public static interface IDataObject {/** * 取数据接口,需要提供一个 说明数据格式的对象类型 * @param dataClass * @return */public <T> T getData(T dataClass) ;/** * 写数据接口,参数对象类型同时说明了 输入数据的格式 * @param data */public <T> void setData( T data) ;}
实现中 可以根据泛型的类型 确定 如何对 输入输出进行操作:判断 可以使用 重载方法 或if else,switch语句因为Java版本的问题 基本上不考虑使用;
键名的管理器对象:
符合 之前定义的数据对象接口
一个数据 如果可以用一个键名固定的话,往往它的数据格式也就固定了,比如说商品的价格,肯定是多少元;说气温,肯定是多少度到多少度;说姓名,肯定是有名有姓更简单概括就是一个代号;再比方买苹果,到超市里去买,肯定是论公斤;到集贸市场上,和小商小贩搞价肯定是论市斤,有时候赶巧能碰上论堆卖的;如果去果园或批发市场买苹果的话,可能人家都懒得和你论公斤,人家都论箱卖【可能还有论筐卖的,呵呵】。
所以对应标准的数据可能只需要定义一个键名和对应值得类型就足够了,对于一些结构比较复杂或可能多变的数据,可以需要一个内部数据格式控制对象来预先处理一下数据格式的类型
- 不需要数据结构有特殊处理的 基本数据类型关联 的 键值:
- 需要数据结构有特殊处理的 符合数据类型关联 的 键值:
批量键名和值的管理对象:
符合 之前定义的数据对象接口
把 所有定义的 键名的管理器对象 放到一个数组列表中,在实现类中 定义控制列表中数据的转换和组合的方法
待续
- Java算法:数据自定义转换器
- Java Retrofit2使用--自定义转换器
- java 自定义类型转换器(Date)
- java框架之springmvc05(自定义类型转换器)
- JAVA SSH ----Struts自定义类型转换器
- SpringMVC 中 数据绑定 数据转换 自定义数据转换器
- 数据转换器
- Struts中的转换器:自定义转换器
- JSF转换器之自定义转换器
- Spring MVC处理JSON数据(3)-自定义消息转换器
- 关于java中beanutils的自定义时间转换器的笔记
- JSF自定义转换器
- JSF自定义转换器
- 自定义转换器标签(1)
- 自定义JSF转换器示例
- silverlight 自定义转换器
- 自定义类型转换器
- Struts2自定义类型转换器
- C代码整洁之道-可配置处理过程
- Flash文本引擎, 第三部分: 布局
- 文件中有一组整数,要求排序后输出到另一个文件中
- JPA实体继承关系的映射策略
- javascript性能优化的几点建议 (转)
- Java算法:数据自定义转换器
- 基于android开发的聊天室 ChatRoom 1.0 :(一) 项目初步介绍
- [androd] android的在线源码网站,各个版本都有(目前已到俺android 4.2,但不包含kernel部分的代码)
- 远程服务器手动部署备忘笔记
- sql中实现自定义排序
- hibernate 多对多只删除中间表数据
- ExtJs4 load加载html页面
- Centos下的Apache大小写敏感问题 (食用菌百科网-junbaike.com站长提供)
- poj 3259 Wormholes (SPFA 判断有无负权回路)