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

来源: 投稿
作者: i飞龙
2017-07-17 11:01:00

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

本次升级共有 17 处变更, 具体参见 1.10.4 milestone

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

1.[特性] 

  • #654 新增 MapUtil.getSubMap(Map<K, T>, Iterable<K>)

获得一个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<K, T>, Iterable<K>)

获得 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, T>, 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 相关内容日志级别

展开阅读全文
点击加入讨论🔥(10) 发布并加入讨论🔥
10 评论
35 收藏
分享
返回顶部
顶部