相关疑难解决方法(0)

使用Proxy时,为什么Kotlin会抛出IllegalArgumentException

这是Kotlin等效的Java代码,使用InvocationHandler:

override fun invoke(proxy: Any?, method: Method?, args: Array<out Any>?): Any {
    println("before httprequest--->" + args)
    val ret = method!!.invoke(obj, args)
    println("after httprequest--->")
    return ret
}
Run Code Online (Sandbox Code Playgroud)

Java代码:

public Object invoke(Object o, Method method, Object[] args) throws Throwable {
    System.out.println("jdk--------->http" + args);
    Object  result=method.invoke(target, args);
    System.out.println("jdk--------->http");
    return result;
}
Run Code Online (Sandbox Code Playgroud)

在这两种情况下args都是null,但是如果我运行它,Kotlin代码就会给出异常

Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments
Run Code Online (Sandbox Code Playgroud)

Kotlin使用标准Java类的原因是什么?

java proxy-classes kotlin

3
推荐指数
1
解决办法
1110
查看次数

标签 统计

java ×1

kotlin ×1

proxy-classes ×1