feilong-core 1.10.4,让 Java 开发更简便的工具包
这里有新鲜出炉的精品教程,程序狗速度看过来!
feilong-core 1.10.4 发布了。
本次升级共有 17 处变更, 具体参见 1.10.4 milestone
1.10.4 文档地址: http://feilong-core.mydoc.io/
1.[特性]
-
#654 新增 MapUtil.getSubMap(Map, Iterable)
获得一个 map 中, 指定的 keys 整理成新的 map.
说明:
-
返回的 map 为 LinkedHashMap,key 的顺序 按照参数 keys 的顺序
-
如果循环的 key 不在 map key 里面, 则忽略该 key, 并输出 debug level log
示例:
- Map < String,
- Integer > map = new HashMap < >(); map.put("a", 3007); map.put("b", 3001); map.put("c", 3001); map.put("d", 3003); LOGGER.debug(JsonUtil.format(MapUtil.getSubMap(map, toList("a", "c"))));
返回:
- { "a": 3007,
- "c": 3001
- }
-
#655 新增 MapUtil.getSubMapExcludeKeys(Map, Iterable)
获得 sub map(排除指定的 excludeKeys).
说明:
-
原 map 不变
-
此方法可以提取 Collections.unmodifiableMap(Map)
-
返回值为 LinkedHashMap,key 的顺序按照参数 map 的顺序
示例:
- Map < String,
- Integer > map = new LinkedHashMap < >(); map.put("a", 3007); map.put("b", 3001); map.put("c", 3002); map.put("g", - 1005); LOGGER.debug(JsonUtil.format(MapUtil.getSubMapExcludeKeys(map, toList("a", "g", "m"))));
返回:
- { "b": 3001,
- "c": 3002
- }
-
#633 ThreadUtil 添加 void execute(Runnable runnable,int threadCount) 方法, 创建指定数量 threadCount 的线程, 并执行.
适用于场景: 模拟个 50 个线程调用 xxx 方法 的场景
-
#652 新建 AnnotationToStringBuilder
-
#656 新建 DefaultAnnotationToStringBuilder
2. 修改
-
commons-lang 升级到 3.6
-
#640 原调用 org.apache.commons.lang3.CharEncoding.UTF_8 改成 StandardCharsets.UTF_8.name() 坏味道
-
#639 原调用 SystemUtils.LINE_SEPARATOR 改成 java.lang.System.lineSeparator() 坏味道
-
#634 如果 RegexUtil.group(String, CharSequence, int) group <0 抛出异常
3. 删除
-
#638 删除 cobertura-maven-plugin , 添加 jacoco-maven-plugin
4. bug
-
#648 修改 MapUtil.getSubMapExcludeKeys(Map, K...) 内部实现, 不会改变原来的 map bug
5. javadoc
-
#649 修改 URIUtil.encode javadoc
6. 单元测试
-
#650 添加 EncodeParameterizedTest
-
#637 完善 RegexUtilTest 单元测试
-
#636 完善 GroupTest 单元测试
-
#635 补充 GroupIntTest 单元测试
7. log 日志
-
#642 修改 MapUtil 类相关内容 log 级别
-
#641 修改 ClassLoaderUtil 相关内容日志级别
来源: http://www.phperz.com/article/17/0717/337362.html