java handler使用方法_java中的MethodHandler入门

博客介绍了Java 7中jsr292的一部分——MethodHandler,它位于java.lang.invoke包,用于支持动态方法调用。还给出了使用示例,展示了如何获取方法句柄并执行。同时提到Lookup是查找工具,MethodType表示方法类型,且方法句柄比反射更轻量级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍

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表示一个方法类型,包括返回值和参数列表。方法句柄相对于反射来说,更加的轻量级。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值