feilong-core 1.10.5,让 Java 开发更简便的工具包

feilong-core 1.10.5 发布了。feilong-core 是一个让 Java 开发更简便的工具包, 可以让你从大量重复的底层代码中脱身,提高工作效率; 让你的代码更简炼,易写、易读、易于维护;

本次升级共有 7 处变更, 具体参见 1.10.5 milestone

1.10.5 文档地址: http://feilong-core.mydoc.io/

[新特性]

  • #661 新增 ConvertUtil.toMap(Map<K, V>, Class<J>)

将诸如 Map<String, String> 类型转成 Map<String, Integer> 类型.

说明:

  • 适合只是简单的将key value类型转换,而不需要自己再构建 Transformer,再去调用 toMap(Map, Transformer, Transformer) ,简化操作

  • 返回的是 LinkedHashMap,顺序依照入参 inputMap

  • 返回的是新的map,原来的toMap参数不受影响

  • 也支持诸如 Map<String, Integer> 转 Map<String, String> (key和value 使用不同的转换器)

  • 也支持诸如 Map<String, String> 转 Map<String, Integer[]> (单值转数组)

  • 也支持诸如 Map<String[], String[]> 转 Map<String[], Long[]> (数组转数组)

示例:

场景1: 将Map<String, String> 转 Map<String, Integer> 类型

 Map<String, String> map = toMap("1", "2"); Map<String, Integer> returnMap = toMap(map, Integer.class); // 输出测试 for (Map.Entry<String, Integer> entry : returnMap.entrySet()) String key = entry.getKey(); Integer value = entry.getValue(); LOGGER.debug("key:[],value:[{}]", key, value);
 }

返回:

 key:["1"],value:[2]

场景2: Map<String, String> 转 Map<String, Integer[]>

 Map<String, String> map = toMap("1", "2,2"); //key和value转成不同的类型 Map<String, Integer[]> returnMap = toMap(map, Integer[].class); // 输出测试 for (Map.Entry<String, Integer[]> entry : returnMap.entrySet()) String key = entry.getKey(); Integer[] value = entry.getValue(); LOGGER.debug("key:[],value:[{}]", key, value);
 }

返回:

 key:["1"],value:[[2, 2]]

场景3: Map<String[], String[]> 转 Map<String[], Long[]>

 Map<String[], String[]> map = toMap(toArray("1"), toArray("2", "8")); //key和value转成不同的类型 Map<String[], Long[]> returnMap = toMap(map, Long[].class);

 assertThat(returnMap, allOf(hasEntry(toArray("1"), toArray(2L, 8L))));

[更新]

  • #657 修改 sonar 扫描出来的问题 The diamond operator ("<>") should be used 坏味道

[删除]

  • none

[Fix Bug]

  • #643 SortUtil.sortMapByValueDesc(Map<String, Integer>) 会报异常 bug

  • #659 SortUtil.sortList报java.lang.IllegalArgumentException: Comparison method violates its general contract!错误 bug thanks @Usain-Zou

[javadoc]

  • #660 完善 DateExtensionUtil 注释

[test]

  • #653 添加 对 List<Map<String, Object>> 排序的测试方法

[log]

  • none

[help wanted]

  • #658 整理一个 字符串模板全集的 wiki

Original article: 

feilong-core 1.10.5,让 Java 开发更简便的工具包