Kotlin解析函数调用vararg歧义

时间:2019-03-25 17:02:10

标签: kotlin

在Java中,您可以执行以下操作:

Method m = XposedHelpers.findMethodBestMatch(WebView.class, "getWebViewClient");

但是,如果将此方法转换为kotlin,则会得到:

val m = XposedHelpers.findMethodBestMatch(WebView::class.java, "getWebViewClient")

这将产生错误:enter image description here

据我了解,java将仅使用这两个函数之一,并且不会立即清除它将调用哪个函数。

我如何选择在Kotlin中使用这些功能之一?

1 个答案:

答案 0 :(得分:2)

您可以显式传递一个空数组,例如

XposedHelpers.findMethodBestMatch(WebView::class.java, "getWebViewClient", *emptyArray<Any>())

XposedHelpers.findMethodBestMatch(WebView::class.java, "getWebViewClient", *emptyArray<Class<*>>())