精简LambdaUtil

This commit is contained in:
achao 2022-06-04 00:43:30 +08:00 committed by VampireAchao
parent c4a2be8120
commit ccc71cd61a

View File

@ -103,23 +103,10 @@ public class LambdaUtil {
/** /**
* 获取lambda表达式函数方法名称 * 获取lambda表达式函数方法名称
* *
* @param <P> Lambda参数类型
* @param func 函数无参方法 * @param func 函数无参方法
* @return 函数名称 * @return 函数名称
*/ */
public static <P> String getMethodName(final Func1<P, ?> func) { public static String getMethodName(final Serializable func) {
return resolve(func).getName();
}
/**
* 获取lambda表达式函数方法名称
*
* @param <R> Lambda返回类型
* @param func 函数无参方法
* @return 函数名称
* @since 5.7.23
*/
public static <R> String getMethodName(final Func0<R> func) {
return resolve(func).getName(); return resolve(func).getName();
} }
@ -132,32 +119,12 @@ public class LambdaUtil {
* <li>其它不满足规则的方法名抛出{@link IllegalArgumentException}</li> * <li>其它不满足规则的方法名抛出{@link IllegalArgumentException}</li>
* </ul> * </ul>
* *
* @param <T> Lambda类型 * @param func 函数
* @param func 函数无参方法
* @return 方法名称
* @throws IllegalArgumentException 非Getter或Setter方法
* @since 5.7.10
*/
public static <T> String getFieldName(final Func1<T, ?> func) throws IllegalArgumentException {
return BeanUtil.getFieldName(getMethodName(func));
}
/**
* 获取lambda表达式Getter或Setter函数方法对应的字段名称规则如下
* <ul>
* <li>getXxxx获取为xxxx如getName得到name</li>
* <li>setXxxx获取为xxxx如setName得到name</li>
* <li>isXxxx获取为xxxx如isName得到name</li>
* <li>其它不满足规则的方法名抛出{@link IllegalArgumentException}</li>
* </ul>
*
* @param <T> Lambda类型
* @param func 函数无参方法
* @return 方法名称 * @return 方法名称
* @throws IllegalArgumentException 非Getter或Setter方法 * @throws IllegalArgumentException 非Getter或Setter方法
* @since 5.7.23 * @since 5.7.23
*/ */
public static <T> String getFieldName(final Func0<T> func) throws IllegalArgumentException { public static String getFieldName(final Serializable func) throws IllegalArgumentException {
return BeanUtil.getFieldName(getMethodName(func)); return BeanUtil.getFieldName(getMethodName(func));
} }