摘要:java8通过function获取字段名,解决硬编码,效果类似于mybatis-plus的lambdaquerywrapper。
本文总共三个步骤:
1、使function获取序列化能力;
2、通过sfunction获取字段名;
3、建一些业务代码进行测试;
使function获取序列化能力
import java.io.serializable;
import java.util.function.function;
/**
* 使function获取序列化能力
*/
@functionalinterface
public interface sfunction extends function, serializable {
}
通过sfunction获取字段名
import java.lang.invoke.serializedlambda;
import java.lang.reflect.field;
import java.lang.reflect.invocationtargetexception;
import java.lang.reflect.method;
public class columnutil {
public static string getname(sfunction fn) {
// 从function取出序列化方法
method writereplacemethod;
try {
writereplacemethod = fn.getclass().g