java万能model_[Java教程]万能的Entry,两个变量的Model/JavaBean再也不用写了!

[Java教程]万能的Entry,两个变量的Model/JavaBean再也不用写了!

0 2016-05-09 01:00:04

前言

很多时候传数据需要只含两个变量的Model/JavaBean,但就为了两个变量去写一个Model/JavaBean实在是麻烦,而且类型固定重用性低。比如:

1.网格显示的头像-名称 需要 String-String类型的一个GridBean

bc91bb04e6e9c61e24c974e4440db8f2.gif

bc91bb04e6e9c61e24c974e4440db8f2.gif

2.日期选择器的Item 需要Boolean-String类型的一个GridPickerItemBean

bc91bb04e6e9c61e24c974e4440db8f2.gif

bc91bb04e6e9c61e24c974e4440db8f2.gif

3.Http请求类参数 需要String-Object类型的一个Parameter

bc91bb04e6e9c61e24c974e4440db8f2.gif

bc91bb04e6e9c61e24c974e4440db8f2.gif

。。。

有什么方法可以不用写一大堆这样的自定义Model/JavaBean吗?

用Map 或Set ?

很多地方(比如Adapter中的数据列表)都要求序列化,而Map(包括LinkedHashMap)和Set(包括LinkedHashSet)都没有get(int index)方法,不能满足需求。

大家知道,List支持序列化,有get(int index)方法,加上Entry里面的K, V都是自定义类型,所以用List>既支持序列化,又能储存两个任意类型变量。

用SDK里的Entry?

SDK内提供了3种Entry

bc91bb04e6e9c61e24c974e4440db8f2.gif

DropBoxManager.Entry只有这几种Constructor,明显不能满足需求

bc91bb04e6e9c61e24c974e4440db8f2.gif

KeyStrore.Entry不能存取数据,明显不能满足需求

bc91bb04e6e9c61e24c974e4440db8f2.gif

Map.Entry只有一个构造器,且必须在构造时实现里面几个抽象方法,使用太麻烦,还不能setKey

bc91bb04e6e9c61e24c974e4440db8f2.gif

所以我写了一个Entry来解决以上问题。

bc91bb04e6e9c61e24c974e4440db8f2.gif

ZBLibrary万能Entry 使用方法

只需要修改Entry中的 K 和 V 为任何你需要的类型,其它和普通的Model/JavaBean一样。

以上面3个Model/JavaBean使用场景为例:

先将Entry放到工程中,然后删除GridBean,其它类中的GridBean全部改为Entry

删除GridPickerItemBean,其它类中的GridBean全部改为Entry

删除Parameter,其它类中的Parameter全部改为Entry

如果不想删除原来的Model/JavaBean,还可以通过继承Entry来简化原来的Model/JavaBean:GridBean extends Entry

bc91bb04e6e9c61e24c974e4440db8f2.gif

GridPickerItemBean extends Entry

bc91bb04e6e9c61e24c974e4440db8f2.gif

Parameter extends Entry

bc91bb04e6e9c61e24c974e4440db8f2.gif

Entry下载地址(欢迎Star,欢迎Fork)

https://github.com/TommyLemon/Android-ZBLibrary/blob/master/ZBLibrary(ADT)/ZBLibrary/src/zuo/biao/library/bean/Entry.java

bc91bb04e6e9c61e24c974e4440db8f2.gif

本文网址:http://www.shaoqun.com/a/219744.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

JAVA

0

博客地址:http://blog.csdn.net/vipbooks 一直以来根据数据库表结构自动生成JavaBean、自动生成MyBaits的Mapper映射配置文件、自动生成数据库设计文档都是一件让人很头痛的事情,既浪费时间又很繁琐,看着几十上百个表的成千上万个字段,真是一件让人痛苦的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接数据库生成JavaBean,但多多少少还是会有一些不尽人意的地方,包括表和表字段的comment总是无法生成,而且还会生成很多无用的注释代码,让代码看起来一点都不干净,配置非常繁琐等等问题。 于是一怒之下,自己动手丰衣足食,于是就自己用Swing了一个基于数据库的自动化生成工具,支持MySQL、Oracle、SQLServce、PostgreSQL四种数据库,支持Window、Linux、MacBook等多个作系统,完美支持JPA注解,可以同时生成Entity和DTO等,可以自动去除表前缀,支持单个和批量生成JavaBean,现在不但成员变量上能生成备注了,而且在Getter和Setter上也能有注释了。更重要的是还能自动生成数据库设计文档和MyBaits的Mapper映射配置文件,如果有多个数据源还能批量生成,使用非常方便。 所有的配置都保存在本地,只要配置过一次,下次使用的时候完全可以秒生成JavaBean、MyBaits的Mapper映射配置文件和数据库设计文档,并且还集成各种实用工具,使得工作效率瞬间爆棚,生产力瞬间爆表! TableGo v5.8.0版更新震撼发布,此次版本更新如下: 1、新增自定义文件功能,可以自己编模板生成任意代码的文件。 2、新增数据源配置自动生成功能,项目分库分表不用愁,一次搞定所有数据源。 3、公共参数界面新增表别名和是否目录直通的配置。 4、生成Bean界面新增是否生成字段注释和重equals,hashCode,toString方法的配置。 5、MyBatis配置界面新增根据所有字段条件查询数据的选项。 6、新增TableGo使用说明书。 7、更新数据库驱动版本,新版的驱动可能不支持JDK8以下的版本。 8、修复了大量的Bug并进行了一些优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值