Package org.aoju.bus.core.toolkit
Class LambdaKit
java.lang.Object
org.aoju.bus.core.toolkit.LambdaKit
Lambda相关工具类
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends Serializable>
StringgetFieldName(T func) 获取lambda表达式Getter或Setter函数(方法)对应的字段名称,规则如下: getXxxx获取为xxxx,如getName得到name。 setXxxx获取为xxxx,如setName得到name。 isXxxx获取为xxxx,如isName得到name。 其它不满足规则的方法名抛出IllegalArgumentExceptionstatic <T extends Serializable>
StringgetMethodName(T func) 获取lambda表达式函数(方法)名称static <R,T extends Serializable>
Class<R>getRealClass(T func) 通过对象的方法或类的静态方法引用,获取lambda实现类static <T extends Serializable>
LambdaKit.Inforesolve(T func) 解析lambda表达式,加了缓存。 该缓存可能会在任意不定的时间被清除
-
Constructor Details
-
LambdaKit
public LambdaKit()
-
-
Method Details
-
getRealClass
通过对象的方法或类的静态方法引用,获取lambda实现类- Type Parameters:
R- 类型T- lambda的类型- Parameters:
func- lambda- Returns:
- lambda实现类
-
resolve
解析lambda表达式,加了缓存。 该缓存可能会在任意不定的时间被清除- Type Parameters:
T- lambda的类型- Parameters:
func- 需要解析的 lambda 对象(无参方法)- Returns:
- 返回解析后的结果
-
getMethodName
获取lambda表达式函数(方法)名称- Type Parameters:
T- lambda的类型- Parameters:
func- 函数(无参方法)- Returns:
- 函数名称
-
getFieldName
获取lambda表达式Getter或Setter函数(方法)对应的字段名称,规则如下:- getXxxx获取为xxxx,如getName得到name。
- setXxxx获取为xxxx,如setName得到name。
- isXxxx获取为xxxx,如isName得到name。
- 其它不满足规则的方法名抛出
IllegalArgumentException
- Type Parameters:
T- lambda的类型- Parameters:
func- 函数- Returns:
- 方法名称
- Throws:
IllegalArgumentException- 非Getter或Setter方法
-