java中的MethodHandler入门

2021-04-11 05:29

阅读:664

标签:int   valueof   列表   轻量   handles   find   支持   介绍   lan   

介绍

MethodHandler,翻译过来就是方法句柄,是java7提供的jsr292的一部分,为了支持动态方法的调用,主要是java.lang.invoke包。

使用

public class Client {
  public static void main(String[] args) throws Throwable {
    MethodHandles.Lookup lookup = MethodHandles.lookup();
//获取String类中静态方法valueOf对应的方法句柄
    MethodHandle valueOfMethodHandler = lookup.findStatic(String.class, "valueOf", MethodType.methodType(String.class, int.class));
//执行方法句柄
    String result = (String) valueOfMethodHandler.invokeExact(12);
    System.out.println(result);
  }
}

Lookup可以简单看做查找方法句柄的工具,MethodType表示一个方法类型,包括返回值和参数列表。方法句柄相对于反射来说,更加的轻量级。

java中的MethodHandler入门

标签:int   valueof   列表   轻量   handles   find   支持   介绍   lan   

原文地址:https://www.cnblogs.com/strongmore/p/13362599.html


评论


亲,登录后才可以留言!