feilong-core 2.0.1,让 Java 开发更简便的工具包。本次升级共有 1 处变更, 具体参见 2.0.1 文档地址。
1
单元测试数 增加至 2197 个, 单元测试覆盖率 增加至 91% ,javadoc 比率 83%
2197
91%
83%
ParamUtil.toNaturalOrderingJoinValue(Map<String, String>)
将 singleValueMap 转成自然排序, 然后仅将value直接拼接成字符串(不使用 = 和& 分隔).
singleValueMap
示例:
Map<String, String> map = newHashMap(); map.put("service", "create_salesorder"); map.put("_input_charset", "gbk"); map.put("totalActual", "210.00"); map.put("address", "江苏南通市通州区888组888号"); LOGGER.debug(ParamUtil.toNaturalOrderingJoinValue(map));
返回:
gbk江苏南通市通州区888组888号create_salesorder210.00
规则: 首先将 singleValueMap 使用 SortUtil.sortMapByKeyAsc(Map) 进行排序, 然后将 map 的 value 直接连接
SortUtil.sortMapByKeyAsc(Map)
说明: 常用于和第三方对接数据(比如银联大华捷通,生成 待签名的字符串)
null key
null value
StringUtils.EMPTY
Map<String, String> map = newHashMap(); map.put("totalActual", null); map.put("province", "江苏省"); LOGGER.debug(ParamUtil.toNaturalOrderingKeyJoinValue(map));
江苏省
评论删除后,数据将无法恢复
feilong-core 2.0.1,让 Java 开发更简便的工具包
feilong-core 2.0.1,让 Java 开发更简便的工具包。本次升级共有
1处变更, 具体参见 2.0.1 文档地址。单元测试数 增加至
2197个, 单元测试覆盖率 增加至91%,javadoc 比率83%[Feature] 🆕
ParamUtil.toNaturalOrderingJoinValue(Map<String, String>)将
singleValueMap转成自然排序, 然后仅将value直接拼接成字符串(不使用 = 和& 分隔).示例:
Map<String, String> map = newHashMap(); map.put("service", "create_salesorder"); map.put("_input_charset", "gbk"); map.put("totalActual", "210.00"); map.put("address", "江苏南通市通州区888组888号"); LOGGER.debug(ParamUtil.toNaturalOrderingJoinValue(map));返回:
规则:
首先将 singleValueMap 使用
SortUtil.sortMapByKeyAsc(Map)进行排序, 然后将 map 的 value 直接连接说明:
常用于和第三方对接数据(比如银联大华捷通,生成 待签名的字符串)
null key或者null value的处理:singleValueMap中,如果有 value 是 null,那么会使用StringUtils.EMPTY进行拼接示例:
Map<String, String> map = newHashMap(); map.put("totalActual", null); map.put("province", "江苏省"); LOGGER.debug(ParamUtil.toNaturalOrderingKeyJoinValue(map));返回:
江苏省