Commit Graph
100 Commits
Author SHA1 Message Date
VampireAchao e09656b6cd :trollface: 添加author 2022-09-09 14:44:49 +08:00
VampireAchao d1b125c88f :trollface: 添加author 2022-09-09 14:43:26 +08:00
VampireAchao fc532551af :trollface: 增强EasyStream#zip对并行流的支持,提供CollectorUtil.entryToMap对Entry转map提供支持,完善javadoc 2022-09-09 14:41:10 +08:00
VampireAchao 814b55cc87 Merge remote-tracking branch 'origin/v6-dev' into v6-dev
# Conflicts:
#	hutool-core/src/main/java/cn/hutool/core/stream/TerminableWrappedStream.java
#	hutool-core/src/main/java/cn/hutool/core/stream/TransformableWrappedStream.java
2022-09-09 14:40:39 +08:00
VampireAchao 492a281cf9 :trollface: 增强EasyStream#zip对并行流的支持,提供CollectorUtil.entryToMap对Entry转map提供支持,完善javadoc 2022-09-09 14:38:28 +08:00
achao b7d924b34d :trollface: 解决冲突 2022-09-07 15:57:29 +08:00
阿超 e847ff6501 Merge branch 'v6-dev' of gitee.com:dromara/hutool into v6-dev
Signed-off-by: 阿超 <achao1441470436@gmail.com>
2022-09-07 07:55:05 +00:00
VampireAchao f70ff3186c :trollface: 改漏了 2022-09-07 15:12:11 +08:00
achao f732d14809 重构Jdk自带的Lambda体系,支持序列化+包裹受检异常
改动如下:
1. AnnotationUtil 115行 简化 predicate::test 为 predicate
2. 调整 Func1 为 SerFunction
3. 调整 Func0 为 SerSupplier
4. 移除 GenericBuilder 对于多参数构造双冒号简写支持,直接采用lambda方式,例如GenericBuilder.of(Box::new, 2048L, "Hello Partner!", 222, 333, 444)改为GenericBuilder.of(() -> new Box(2048L, "Hello Partner!", 222, 333, 444))
5. 移除 CheckedUtil,现有重构后的Lambda 支持包裹异常
6. 移除 Func,该函数式接口属于泛型可变参数,不推荐使用
7. 移除 Supplier1,1参数Supplier应该使用SerFunction替代
8. 移除 Supplier2,2参数Supplier应该使用SerBiFunction替代
9. 移除 Supplier3,3参数Supplier应该使用SerFunction3替代(因第4条更改思路,该SerFunction3并未添加)
10. 移除 Supplier4,4参数Supplier应该使用SerFunction4替代(因第4条更改思路,该SerFunction4并未添加)
11. 移除 Supplier5,5参数Supplier应该使用SerFunction5替代(因第4条更改思路,该SerFunction5并未添加)
12. 移除 VoidFunc,该函数式接口属于泛型可变参数,不推荐使用
13. 调整 VoidFunc0 为 SerRunnable
14. 调整 VoidFunc1 为 SerConsumer
15. 调整 EntryStream 泛型命名、完善javadoc
16. EnumUtil 273行 简化 field::callWithRuntimeException 为 field
2022-09-07 15:08:11 +08:00
VampireAchao 056eb5ded6 CollectorUtil 新增两个对toMap的重载,并将EasyStream中join采用CollectorUtil中的joining 2022-09-06 11:18:06 +08:00
achao 563f398625 test 2022-08-23 14:20:56 +08:00
阿超 4ecdc17ffe Merge branch 'v6-dev' of gitee.com:dromara/hutool into v6-dev
Signed-off-by: 阿超 <achao1441470436@gmail.com>
2022-08-23 05:19:03 +00:00
VampireAchao 4c8ed54241 并行流适配 2022-08-22 22:57:54 +08:00
VampireAchao 699217b4c3 EasyStream 对递归树结构的支持 2022-08-22 19:37:14 +08:00
achao 6bccf59079 修复LambdaUtil对多参数且参数为包含数组的lambda的支持;优化clazz获取逻辑,直接从executable获取而不是反射 2022-08-18 15:54:49 +08:00
achao 414439b89b 优化函数名、新增两个额外函数作为map和flat的前后空处理、完善测试用例,提升覆盖率 2022-08-09 14:35:56 +08:00
阿超 dc3d45ac42 Merge branch 'FastStream-2' of gitee.com:emptypoint/hutool_study into cherry-pick-1659789195 2022-08-06 13:33:35 +00:00
achao db0e590fb1 :trollface: 审查、优化 2022-08-06 21:28:05 +08:00
achao 040a039d10 :trollface: 修复注释 2022-08-02 10:01:14 +08:00
achao 65ea5c2066 :trollface: remove private 2022-08-02 09:57:25 +08:00
achao 236ebba3a8 :trollface: unshift 灵感来源:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/unshift 2022-08-02 09:33:15 +08:00
achao c51ed6d3a1 修复注释里的Steam为FastStream,以及sub方法 2022-07-29 23:04:54 +08:00
VampireAchao d66618651d FastStream!!! 2022-07-23 20:37:44 +08:00
achao 8a517a7f04 优化PredicateUtil,补全单测,抑制泛型参数警告 2022-07-09 22:40:34 +08:00
achao 26cf1ba18f 新增CollectorUtil.reduceListMap(),用于聚合集合中的 每一个map 为一个大map Collection<Map<K,V>> => Map<K,List<V>> 2022-07-03 19:05:57 +08:00
VampireAchao fec797aa86 Merge remote-tracking branch 'origin/v6-dev' into v6-dev 2022-07-03 17:38:38 +08:00
achao 9538041ac5 处理Collectors遇到null的情况 2022-07-03 17:35:54 +08:00
VampireAchao 8af05e0892 Merge remote-tracking branch 'origin/v6-dev' into v6-dev 2022-06-28 16:40:07 +08:00
VampireAchao 57cf8264c9 导入扁平化 2022-06-28 16:40:02 +08:00
VampireAchao 6382851216 Merge remote-tracking branch 'origin/v6-dev' into v6-dev 2022-06-28 16:36:53 +08:00
VampireAchao 7c5ec4160a CharSequence修正为泛型 2022-06-28 16:36:48 +08:00
VampireAchao 2a34337952 CharSequence修正为泛型 2022-06-28 16:34:59 +08:00
VampireAchao 42b0820129 改为CharSequence 2022-06-22 18:47:10 +08:00
achao 173211eaef 使用equals避免int值比较错误 2022-06-22 17:17:37 +08:00
VampireAchao d6118fe057 Opt修改
* ofBlankAble入参和泛型改为String
* ofEmptyAble额外判断集合内元素全部为null的情况
* peek直接调用ifPresent
* peeks改为可爱的写法
- 移除名字太长的ifPresentOrElse
- 移除没有必要的orElseThrow(Function,String)
+ 新增orElseRun,对应一些不满足条件时调用的简单而又无返回值操作
2022-06-22 12:29:29 +08:00
VampireAchao 922d460fbe LambdaUtil入参改为泛型,能通过在方法指定泛型 2022-06-18 22:32:49 +08:00
阿超 68d6116212 Merge branch 'v6-dev' of gitee.com:dromara/hutool into v6-dev 2022-06-07 15:19:45 +00:00
achao 43fd06fc62 新增ReflectUtil.getDescriptor获取单个class的描述符重载,完善测试用例和注释信息 2022-06-07 23:13:41 +08:00
achao ec75edb48d bug fix 2022-06-06 23:41:39 +08:00
achao fa3dfcdf79 完善注释和描述,添加ReflectUtil.getDescriptor测试用例,优化appendDescriptor 2022-06-06 12:48:56 +08:00
achao 08ecda4cd2 新增对instantiatedType数组的支持 2022-06-04 13:50:28 +08:00
VampireAchao 03fd58d455 Merge remote-tracking branch 'origin/v6-dev' into v6-dev 2022-06-04 01:18:49 +08:00
achao d5174b6b64 完善LambdaUtil 2022-06-04 01:18:41 +08:00
achao ccc71cd61a 精简LambdaUtil 2022-06-04 00:43:30 +08:00
achao c4a2be8120 重构LambdaUtil,强化原有的SerializedLambda缓存为自定义LambdaInfo,该类额外存储了lambda反射类,且可以获取到lambda中使用的外部变量参数;额外在ReflectUtil新增了部分函数,用于获取描述符 2022-06-04 00:22:27 +08:00
VampireAchao 34435c5e61 fix issues/I51MEM 新增自定义ClassLoader构造器 2022-04-08 13:24:17 +08:00
VampireAchao 40bc89511e 统一LambdaUtil#getRealClass方法,并提供测试用例,还对传入lambda进行了校验,且完善了注释... 2022-03-25 19:34:24 +08:00
VampireAchao 38df5a48b6 新增MapUtil#change函数 2022-03-24 23:33:34 +08:00
VampireAchao c669426a1e 修改Func1参数的方法为LambdaUtil#getInstantiatedClass
提供EnumUtil中对lambda进行映射处理
2022-03-23 22:27:38 +08:00
VampireAchao 2087ef8be7 新增LambdaUtil#getImplClass方法 2022-03-23 19:01:45 +08:00
VampireAchao 8974fe5783 Opt.ofEmptyAble从List拓展为Collection 2022-03-21 14:19:43 +08:00
VampireAchao e55be87873 缩进调整 2022-03-16 13:58:32 +08:00
VampireAchao f40b5a04b8 格式调整 2022-03-16 13:55:00 +08:00
VampireAchao 0723813452 Merge remote-tracking branch 'origin/v5-dev' into v5-dev
# Conflicts:
#	hutool-db/src/main/java/cn/hutool/db/ActiveEntity.java
2022-03-16 13:44:18 +08:00
VampireAchao b7e3db2ec4 提供Dict中setFields方法及其子类实现,传入lambda能够设置部分值 2022-03-16 13:33:06 +08:00
VampireAchao 15b5d74180 完善测试用例,提供为null值时场景 2022-03-16 13:25:04 +08:00
VampireAchao e933fb8c2b 提供Dict中setFields方法实现,传入lambda设置部分值 2022-03-16 13:19:53 +08:00
VampireAchao f34a3e9c88 Revert "增强ActiveEntity,使其可以使用getter对应的lambda取值或设置条件"
This reverts commit cbebecda58.
2022-03-16 09:16:54 +08:00
VampireAchao e1de291063 Merge remote-tracking branch 'origin/v5-dev' into v5-dev 2022-03-15 22:57:48 +08:00
VampireAchao cbebecda58 增强ActiveEntity,使其可以使用getter对应的lambda取值或设置条件 2022-03-15 22:46:35 +08:00
VampireAchao 9e2fa7d2b6 太棒了! 2022-03-13 21:59:27 +08:00
VampireAchao 056b501e8e 提交测试用例 2022-03-13 21:34:59 +08:00
VampireAchao 11bf574aae 升级MongoDB 2022-03-09 22:36:23 +08:00
VampireAchao 115871a355 修复AnnotationProxy#annotationType获取不到注解类型的问题 2022-03-05 23:43:27 +08:00
VampireAchao 0e5329850a 获取别名支持后的注解 2022-03-01 22:59:28 +08:00
VampireAchao 9c3cf705c6 参考增加对时间段重合的判断方法,拓展Date以及DateTime类型 2022-02-27 22:29:42 +08:00
VampireAchao eb15ba4f82 Merge remote-tracking branch 'origin/v5-dev' into v5-dev
# Conflicts:
#	hutool-core/src/test/java/cn/hutool/core/date/DateUtilTest.java
2022-02-27 22:27:13 +08:00
VampireAchao dcc52413a7 参考增加对时间段重合的判断方法,拓展Date以及DateTime类型 2022-02-27 22:26:45 +08:00
VampireAchao 046bfead03 bug fix 2022-02-11 19:20:57 +08:00
VampireAchao 88a7fc7dc0 bug fix 2022-02-11 19:15:09 +08:00
achao a0f172d584 Merge remote-tracking branch 'origin/v5-dev' into v5-dev 2022-02-11 19:09:14 +08:00
achao b7f65c1b95 Merge remote-tracking branch 'origin/v5-dev' into v5-dev 2022-02-11 19:08:54 +08:00
VampireAchao b5dfc8b639 提交NumberChineseFormatter.formatSimple,用于将阿拉伯数字(支持正负整数)四舍五入后转换成中文节权位简洁计数单位,例如 -5_5555 =》 -5.56万 2022-02-10 21:09:26 +08:00
VampireAchao 32ad8ad824 在ValidateException新增matchThrow和nonMatchThrow 2022-02-08 22:26:28 +08:00
VampireAchao 238898e708 忘记加单参数分组重载了...失误失误 2022-02-07 22:03:02 +08:00
achao c9ad39ab3a Revert "AsyncUtil下增加getOpt方法,用于执行失败时提供默认值,也能自定获取异常;拓展了Opt.ofEmptyAble方法,使其可以判断Collection下的其他集合"
This reverts commit 158290c388.
2022-02-07 21:20:16 +08:00
achao 7242d6992f Merge remote-tracking branch 'origin/v5-dev' into v5-dev 2022-02-07 20:55:09 +08:00
VampireAchao b60b2dc16a 提交测试用例 2022-01-24 23:55:43 +08:00
VampireAchao fd021c5f9c 提供对null值友好的groupingBy操作的{@link Collector}实现,可指定map类型 2022-01-24 23:55:43 +08:00
VampireAchao 158290c388 AsyncUtil下增加getOpt方法,用于执行失败时提供默认值,也能自定获取异常;拓展了Opt.ofEmptyAble方法,使其可以判断Collection下的其他集合 2022-01-22 12:08:36 +08:00
VampireAchao cba1659833 修复ofTry中并发环境下线程安全问题 2022-01-17 14:40:16 +08:00
VampireAchao 78ac9fcdef 提交Collectors.toMap的对null友好实现,避免NPE 2022-01-15 11:48:51 +08:00
VampireAchao 554c2bdb64 提交测试用例 2022-01-08 21:35:34 +08:00
VampireAchao 56129cba7b 提供对null值友好的groupingBy操作的{@link Collector}实现,可指定map类型 2022-01-08 14:17:01 +08:00
VampireAchao 6c8ce4ea85 抽取所有CollStream中group相关函数,提取一个groupThen,采纳上一个PR回复的建议,使得代码更加灵活 2021-12-15 22:18:29 +08:00
achao 43b33c81e3 Merge remote-tracking branch 'origin/v5-dev' into v5-dev 2021-12-09 20:15:58 +08:00
VampireAchao bc8e9cd159 新增CollStreamUtil.groupKeyValue(java.util.Collection<E>, java.util.function.Function<E,K>, java.util.function.Function<E,V>),用于分组时直接获取属性 2021-12-09 20:13:39 +08:00
achao c1e6ea8d42 Merge remote-tracking branch 'origin/v5-dev' into v5-dev 2021-12-06 21:31:41 +08:00
VampireAchao 1b28ba13e4 处理了CollStreamUtil.toIdentityMap中,如果value为空时,发生NPE异常问题 2021-12-06 21:13:26 +08:00
VampireAchao a2331bf5c9 处理了CollStreamUtil.toMap中,如果value为空时,发生NPE异常问题 2021-12-06 21:01:14 +08:00
achao c1c80b3f50 Merge remote-tracking branch 'origin/v5-dev' into v5-dev 2021-11-28 18:34:27 +08:00
VampireAchao 4aeaf827dc waitAny函数提供返回值,用于在获取最先执行完成的任务中的返回值 2021-11-28 18:34:12 +08:00
achao 71b741b34f Merge remote-tracking branch 'origin/v5-dev' into v5-dev
# Conflicts:
#	hutool-core/src/main/java/cn/hutool/core/collection/CollStreamUtil.java
2021-11-18 17:34:10 +08:00
VampireAchao 8b3f346742 添加CollStreamUtil并行流相关实现 2021-11-18 17:33:46 +08:00
achao 3d06375871 添加方法对应的并行流实现 2021-11-17 22:23:17 +08:00
VampireAchao 600f2ff371 1.拓展ofEmptyAble函数,简化了判空元素list的操作
2.ifPresentOrElse现在支持链式调用
3.拓展mapOrElse函数,可用于一些连续的参数校验
4.拓展exec函数,能对NPE和数组越界异常进行友好返回
2021-11-15 23:09:03 +08:00
achao e021f52563 添加测试用例 2021-11-10 21:21:01 +08:00
achao 4d9d2c4d90 增加CompletableFuture相关封装 2021-11-10 21:10:46 +08:00
achao c8743914f1 HashMap应指定初始长度 2021-11-10 20:33:02 +08:00
achao 8e0a5e2029 用RandomUtil 2021-11-10 20:31:32 +08:00