Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
kotlin的哪项功能可以通过java代理替代方法拦截_Java_Kotlin_Interceptor_Dynamic Proxy_Delegated Properties - Fatal编程技术网

kotlin的哪项功能可以通过java代理替代方法拦截

kotlin的哪项功能可以通过java代理替代方法拦截,java,kotlin,interceptor,dynamic-proxy,delegated-properties,Java,Kotlin,Interceptor,Dynamic Proxy,Delegated Properties,在java中,如果我想拦截类上的方法调用,我可以使用Proxy.newProxyInstance(),并提供一个调用处理程序实现调用() 我已经看到,在kotlin中,您可以使用委托属性来拦截属性访问 kotlin是否有任何功能可用于为方法提供类似的功能?kotlin没有创建代理的标准和统一方法。在使用K/JVM平台时,您仍然可以使用Proxy.newProxyInstance(),但请记住,Kotlin编译器将生成/重命名方法(您可以使用@JvmName来控制该方法)。在JS平台上有一个类似的

在java中,如果我想拦截类上的方法调用,我可以使用
Proxy.newProxyInstance()
,并提供一个
调用处理程序
实现
调用()

我已经看到,在kotlin中,您可以使用委托属性来拦截属性访问


kotlin是否有任何功能可用于为方法提供类似的功能?

kotlin没有创建
代理的标准和统一方法。在使用K/JVM平台时,您仍然可以使用
Proxy.newProxyInstance()
,但请记住,Kotlin编译器将生成/重命名方法(您可以使用
@JvmName
来控制该方法)。在JS平台上有一个类似的特性(),您可以使用
@JsName
来处理方法重命名

至于Native,据我所知,没有任何方法可以做到这一点,因为反射没有实现

委托的目标不是提供代理的替代方案,但在某些用例中,您可能会忽略它们


此功能有一个功能请求,但没有受到太多关注

您要寻找哪些功能?我的意思是,您可以围绕当前的代理实现构建一些看起来更像kotlin的东西