feilong-core 1.14.3 发布啦,让 Java 开发更简便的工具包

栏目: 软件资讯 · 发布时间: 6年前

内容简介:本次升级共有 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] ????

  • #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));
  • #789 新建 ComparatorUtil

  • #791 新建 ContainsStringPredicate

使用场景,参考

    <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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序与法治

程序与法治

孙洪坤 / 中国检察 / 2008-3 / 28.00元

《程序与法治》是系统和全面地研究程序与法治国家建设思想的学术专著,《程序与法治》对程序与法治的若干重大理论与现实问题进行了深入的探讨,如:从法社会学的视角研究程序正义在中国的可适应性问题;程序正义的中国语境;正当程序的宪政价值与构造;正当程序的文化底蕴;中国刑事程序正当化设计的标准、设计的基调、设计的视角;等等。尽管其中某些问题的研究尚待进一步深入,但这些问题的提出有利于开阔我们研究程序法理论的视......一起来看看 《程序与法治》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试