add method

This commit is contained in:
Looly 2022-03-25 02:19:49 +08:00
parent 9e06536767
commit da40e42124

View File

@ -1,7 +1,6 @@
package cn.hutool.core.lang.func;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Console;
import cn.hutool.core.lang.SimpleCache;
import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.ReflectUtil;
@ -109,27 +108,28 @@ public class LambdaUtil {
/**
* 通过{@link SerializedLambda#getInstantiatedMethodType()}获取lambda实现类<br>
* 在使用{@link #getImplClass(Func0)}获取实现类的时候如果传入的是父类方法引用会返回父类导致问题<br>
* 在使用{@link #getImplClass(Func0)}获取实现类的时候如果传入的是父类方法引用会返回父类导致问题<br>
* 此类通过方法的名称截取出类名
*
* @param func lambda
* @param <P> 类型
* @return lambda实现类
* @since 5.8.0
*/
public static <P> Class<P> getInstantiatedClass(Func0<?> func) {
final String instantiatedMethodType = resolve(func).getInstantiatedMethodType();
Console.log(instantiatedMethodType);
return ClassUtil.loadClass(StrUtil.sub(instantiatedMethodType, 2, StrUtil.indexOf(instantiatedMethodType, ';')));
}
/**
* 通过{@link SerializedLambda#getInstantiatedMethodType()}获取lambda实现类<br>
* 在使用{@link #getImplClass(Func1)}获取实现类的时候如果传入的是父类方法引用会返回父类导致问题<br>
* 在使用{@link #getImplClass(Func1)}获取实现类的时候如果传入的是父类方法引用会返回父类导致问题<br>
* 此类通过方法的名称截取出类名
*
* @param func lambda
* @param <P> 类型
* @return lambda实现类
* @since 5.8.0
*/
public static <P> Class<P> getInstantiatedClass(Func1<P, ?> func) {
final String instantiatedMethodType = resolve(func).getInstantiatedMethodType();