feilong-core 1.14.3 发布啦,让 Java 开发更简便的工具包
本次升级共有 3
处变更, 具体参见 1.14.3 milestone
1.14.3 文档地址: http://feilong-core.mydoc.io/
单元测试数 增加至 2164
个, 单元测试覆盖率 增加至 91%
,javadoc 比率 83%
[Feature] 🆕
- #788 sort util 封装数组或者集合 固定的排序方法
com.feilong.core.util.SortUtil
新增 sortListByFixedOrderArray(List<T>, T...)
和 sortListByFixedOrderList(List<T>, List<T>)
方法
对 集合 list 按照指定的固定顺序 fixedOrderItemList
进行排序.
说明:
默认使用的是 UnknownObjectBehavior.AFTER
,不在指定固定顺序的元素将排在后面
示例:
assertThat( sortListByFixedOrderList(toList("张飞", "关羽", "刘备"), toList("刘备", "张飞", "关羽")), // contains("刘备", "张飞", "关羽"));
重构:
对于以下代码:
try{ Collections.sort( list, new FixedOrderComparator<>( StoPropertyConstants.PRPT_ITEM_HYPELAUNCH, StoPropertyConstants.PRPT_ITEM_MIADIDAS_VALUE_EN, StoPropertyConstants.PRPT_ITEM_PRESONALLZATION_CODE, StoPropertyConstants.PRPT_ITEM_PERSALES_CODE, StoPropertyConstants.PRPT_ITEM_VIP_CODE, StoPropertyConstants.PRPT_ITEM_COMINGSOON_CODE, StoPropertyConstants.PRPT_ITEM_DISCOUNT_CODE, StoPropertyConstants.PRPT_ITEM_NORMAL_CODE, StoPropertyConstants.PRPT_ITEM_NOSALE)); }catch (Exception e){ LOGGER.error("itemType sort error:{},itemType:{}", e, JsonUtil.format(itemType)); }
可以重构成:
com.feilong.core.util.SortUtil.sortListByFixedOrderList( list, toList( StoPropertyConstants.PRPT_ITEM_HYPELAUNCH, StoPropertyConstants.PRPT_ITEM_MIADIDAS_VALUE_EN, StoPropertyConstants.PRPT_ITEM_PRESONALLZATION_CODE, StoPropertyConstants.PRPT_ITEM_PERSALES_CODE, StoPropertyConstants.PRPT_ITEM_VIP_CODE, StoPropertyConstants.PRPT_ITEM_COMINGSOON_CODE, StoPropertyConstants.PRPT_ITEM_DISCOUNT_CODE, StoPropertyConstants.PRPT_ITEM_NORMAL_CODE, StoPropertyConstants.PRPT_ITEM_NOSALE));
使用场景,参考
<bean class="com.feilong.context.converter.IfStringToBeanConverter"> <property name="predicate"> <bean class="com.feilong.core.util.predicate.ContainsStringPredicate" p:searchCharSequence="TRADE_NOT_EXIST" /> </property> <property name="trueStringToBeanConverter"> <bean class="com.feilong.netpay.alipay.query.AlipayTradeNotExistStringToBeanConverter" /> </property> <property name="falseStringToBeanConverter"> <bean class="com.feilong.context.converter.XMLMapBuilderStringToBeanConverter"> <property name="beanClass" value="com.feilong.netpay.alipay.query.AlipaySingleQueryResultCommand" /> <property name="nameAndValueMapBuilder"> <bean class="com.feilong.context.converter.builder.XmlNodeNameAndValueMapBuilder" p:xpathExpression="/alipay/response/trade/*" /> </property> <property name="beanBuilder"> <bean class="com.feilong.context.converter.builder.AliasBeanBuilder" /> </property> </bean> </property> </bean>
[Update]
- none
[版本升级]
- none
[Remove]
- none
[Fix Bug] 🐛
- none
[Javadoc]
- none
[Junit Test]
- none
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Db4o 社区版 8.1.1 发布,面向对象数据库
在机器重启后,能重新读入以前数据的应用大部分后端都使用了一个数据库,而数据库大部分以数据表结构组织数据,而应用程序部分使用的是面向对象结构,这种不兼容导致出现了一堆Beans、DAL、ORM层。 十年前开发人员想统一应用软件与数据库之间的开发方式,90%的软件功能与数据都不在首页,他们希望软件关闭重启后完全恢复之前的用户操作状态,整个用户界面是从数据库中Select()出来,而不是new一个页面对象,再绑定几个Bean,大部分这类软件都是专用商业软件,没有大规模流行,但也有好的开源产品进行尝试。 Db4o是其中一个,这个产品有近十年没重要更新了,是一个非常好帮助新用户学习编写数据库的产品,完全OOP代码结构。 如果不是拿来学习,而是直接使用,这个Db4o数据库也是非常容易使用的,因为是OOP数据库,备份也方便,复制文件就行了。 JAVA 版本代码 public static void accessDb4o() { ObjectContainer db = Db4oEmbedded.openFile(Db4oEmbedded .newConfiguration(), DB4OFI...
- 下一篇
喧喧发布3.0.0-beta.1版本,全新的界面和交互体验,移动端支持离线消息推送
喧喧是由然之协同团队推出的一款轻量级的企业通讯聊天软件。提供企业内部通讯交流、企业通讯录、协同办公通讯交流、企业IM解决方案。 小伙伴们,喧喧 3.0 发布了!在新的版本中我们对客户端交互界面重新进行了细致的打造,带来更加人性化的交互体验。我们一直在积极响应社区反馈,这次带来了移动端离线消息推送功能,重要消息不再错过。另外我们将授权协议修订为ZOSL协议,您需要取得我们的授权才能够使用喧喧 3.0 的全套方案,我们提供适合个人或公司免费的可永久使用的授权方式。 更新明细 焕然一新的界面主题和交互方式: 新的 的界面导航交互,现在主导航在界面上方,“最近会话”和“通讯录”导航项目合并为“会话”; 新的 创建会话交互,现在可以方便的根据部门来选择要加入会话的成员; 新的 通讯录界面,集中管理联系人和讨论组; 新增 通过“最近会话”、“讨论组”、“私人会话”来快速筛选会话,在会话列表上会预览最近的消息和重要通知; 新的 会话消息气泡列表外观,增强了消息右键菜单,去掉了大部分额外的悬停菜单按钮; 新的 系统会话成员侧边栏,现在会以部门树结构显示系统中的所有成员; 新增 发送代码块类消息功能,并...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器