内容简介:本次升级共有 3 处变更, 具体参见 1.14.3 milestone 1.14.3 文档地址: http://feilong-core.mydoc.io/ 单元测试数 增加至 2164 个, 单元测试覆盖率 增加至 91% ,javadoc 比率 83% [Feature] :new: #788 sort util...
本次升级共有 3 处变更, 具体参见 1.14.3 milestone
1.14.3 文档地址: http://feilong-core.mydoc.io/
单元测试数 增加至 2164 个, 单元测试覆盖率 增加至 91% ,javadoc 比率 83%
[Feature] ????
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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
运营有道:重新定义互联网运营
李明轩 / 机械工业出版社 / 2017-7-31 / 69.00元
本书是前百度资深运营专家多年运营经验的总结,是作者运营千万级用户规模的大型互联网产品的实操经验复盘,是作者在“在行”上为近百位CEO和高管提供互联网运营咨询服务后对互联网运营需求的深入洞见。 本书的思想基础是“运营必须以用户为中心”,从产品、用户、市场3个维度对互联网运营重新进行了系统性的梳理:从道的层面解读并重新定义运营方法论,从术的层面围绕方法论提出行之有效的解决方法和实际案例。重点不在......一起来看看 《运营有道:重新定义互联网运营》 这本书的介绍吧!