java通过反射以及MethodHandle执⾏泛型参数的静态⽅法开发过程中遇到⼀个不能直接调⽤泛型⼯具类的⽅法,因此需要通过反射来摆脱直接依赖。
被调⽤静态⽅法⽰例
public class test{
public static <T> T get(Class<T> tClass){
try {
Data(tClass);
} catch (Exception e){
return null;
}
}
}
调⽤者⽰例
1public static <T> T getData(Class<T> tClass) {
2try {
3            MethodType methodType = hodType(Object.class, Class.class);
4            MethodHandle method = MethodHandles.lookup().findStatic(Class.forName("st"), "get", methodType);
5return (T) method.invoke(tClass);
6        }catch (Throwable e){
7return null;
8        }
9    }
⼀开始没搞明⽩如何能获取到泛型⽅法的⽅法句柄。
后来发现可以直接⽤ hodType(Object.class, Class.class) 表⽰。。。。基础知识还是重要。java反射的作用及应用场景