Это Котлин эквивалент Java кода с использованием InvocationHandler
:Почему Котлин бросить IllegalArgumentException при использовании прокси
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
}
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;
}
В обоих случаях args
равна нулю, но если я бегу it, Kotlin код Предоставляется исключение
Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments
Что такое th Причина этого в том, что Kotlin использует стандартный Java-класс?
'неправильное количество аргументов': вы рассматривали аргументы в любом случае? Можете ли вы «утверждать» длину массива перед вызовом? – 9000
Привет @ 9000, оба аргумента «args» имеют значение null перед оператором печати – WenChao