转载

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

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

本次升级共有 8 处变更, 具体参见   1.13.2 milestone

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

单元测试数 增加至 2124 个, 单元测试覆盖率 增加至 91% ,javadoc 比率 83%

[Feature] :new:

  • #770 新增 AggregateUtil.groupSum(Iterable<O> beanIterable, String keyPropertyName, String sumPropertyName)

迭代 beanIterable,取元素 keyPropertyName 的值为 key ,累计 sumPropertyName 属性值 为 value,返回 map.

示例:

统计 user list 按照姓名分组, 累加每个人的 age 总和

List<User> list = toList(//
               new User("张飞", 20),
               new User("关羽", 20),
               new User("刘备", 20),
               new User("刘备", 20));

Map<String, BigDecimal> map = AggregateUtil.groupSum(list, "name", "age");

assertThat(
               map,
               allOf(//
                               hasEntry("刘备", toBigDecimal(40)),
                               hasEntry("张飞", toBigDecimal(20)),
                               hasEntry("关羽", toBigDecimal(20))));
  • #771 新增 AggregateUtil.groupSum(Iterable<O>, String, String, Predicate<O>)

  • #769 新增 MapUtil.putSumValue(Map<String, BigDecimal>, String, Number)

将key和value 累加的形式put到 map中,如果map中存在key,那么累加value值;如果不存在那么直接put.

常用于数据统计, 比如 com.feilong.core.util.AggregateUtil.groupSum(Iterable, String, String)

示例:

 Map<String, BigDecimal> map = new HashMap<>();
 MapUtil.putSumValue(map, "1000001", 5);
 MapUtil.putSumValue(map, "1000002", 5);
 MapUtil.putSumValue(map, "1000002", 5);
 LOGGER.debug(JsonUtil.format(map));

返回:

 {
 "1000001": 5,
 "1000002": 10
 }
NotNullOrEmptyStringPredicate
RegexStringPredicate
StringToDateTransformer

[Update]

  • #772 BeanUtil.newDynaBean(Map<String, ?>) map 改成Map<?, ?>

[版本升级]

  • none

[Remove]

  • none

[Fix Bug] :bug:

  • #774 RegexUtil.matches(String, CharSequence) 如果 CharSequence 是 null 返回 false 而不应该是 NPE

[Javadoc]

  • none

[Junit Test]

  • none
原文  https://www.oschina.net/news/106346/feilong-core-1-13-2-released
正文到此结束
Loading...