gpt4 book ai didi

java - Android 中有 MethodHandle 的等价物吗?

转载 作者:太空宇宙 更新时间:2023-11-03 10:20:04 25 4
gpt4 key购买 nike

在我的项目中,我需要多次动态访问不同对象的getter 和setter。因此,我想要一种动态访问方法的快速方法。

Java 7 引入了 MethodHandle用于动态执行给定类的方法的类。据我所知,在 JDK 的 Android 端口上没有这样的东西。除了使用标准反射类之外,是否有任何解决方法可以用来规避此问题?

最佳答案

您显然可以只获取适当的 Method 对象并调用它。

但是如果你想要更快的东西,你可以在运行时生成一个类来调用你的目标方法。所以你使用普通反射定位方法,生成一个 MethodCaller 类来实现你预先定义的一些接口(interface)(callMethod() ?),加载新生成的类并使用它。有一个与 android 运行时兼容的库 here以及列出其他可能替代方案的长时间讨论 here .

虽然这是可行的,但肯定不容易,我建议尝试正常反射并测量性能。也许它会工作得很好。

关于java - Android 中有 MethodHandle 的等价物吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24921146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com