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
diff --git a/hutool-core/src/test/java/cn/hutool/core/lang/func/LambdaUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/lang/func/LambdaUtilTest.java
index b74a30a20..4c9697825 100644
--- a/hutool-core/src/test/java/cn/hutool/core/lang/func/LambdaUtilTest.java
+++ b/hutool-core/src/test/java/cn/hutool/core/lang/func/LambdaUtilTest.java
@@ -1,25 +1,37 @@
package cn.hutool.core.lang.func;
-import lombok.Data;
import org.junit.Assert;
import org.junit.Test;
+import lombok.Data;
+
public class LambdaUtilTest {
@Test
- public void getMethodNameTest(){
+ public void getMethodNameTest() {
String methodName = LambdaUtil.getMethodName(MyTeacher::getAge);
Assert.assertEquals("getAge", methodName);
}
@Test
- public void getFieldNameTest(){
+ public void getFieldNameTest() {
String fieldName = LambdaUtil.getFieldName(MyTeacher::getAge);
Assert.assertEquals("age", fieldName);
}
+ @Test
+ public void getImplClassTest() {
+ Class