From 2087ef8be7afe9cf555ff09419a7e48df7cb7008 Mon Sep 17 00:00:00 2001 From: VampireAchao Date: Wed, 23 Mar 2022 19:01:45 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=96=B0=E5=A2=9ELambdaUtil#getImplClass?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/hutool/core/lang/func/LambdaUtil.java | 18 +++++++++++++---- .../hutool/core/lang/func/LambdaUtilTest.java | 20 +++++++++++++++---- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/lang/func/LambdaUtil.java b/hutool-core/src/main/java/cn/hutool/core/lang/func/LambdaUtil.java index c57a41f47..a2566eebe 100644 --- a/hutool-core/src/main/java/cn/hutool/core/lang/func/LambdaUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/lang/func/LambdaUtil.java @@ -1,12 +1,14 @@ package cn.hutool.core.lang.func; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.lang.SimpleCache; -import cn.hutool.core.util.ReflectUtil; - import java.io.Serializable; import java.lang.invoke.SerializedLambda; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.lang.SimpleCache; +import cn.hutool.core.text.CharPool; +import cn.hutool.core.util.ClassUtil; +import cn.hutool.core.util.ReflectUtil; + /** * Lambda相关工具类 * @@ -53,6 +55,10 @@ public class LambdaUtil { return resolve(func).getImplMethodName(); } + public static

Class

getImplClass(Func1 func) { + return ClassUtil.loadClass(resolve(func).getImplClass().replace(CharPool.SLASH, CharPool.DOT)); + } + /** * 获取lambda表达式函数(方法)名称 * @@ -65,6 +71,10 @@ public class LambdaUtil { return resolve(func).getImplMethodName(); } + public static Class getImplClass(Func0 func) { + return ClassUtil.loadClass(resolve(func).getImplClass().replace(CharPool.SLASH, CharPool.DOT)); + } + /** * 获取lambda表达式Getter或Setter函数(方法)对应的字段名称,规则如下: *