簡體   English   中英

Scala 中的 Java 反射,將參數傳遞給函數時出錯

[英]Java Reflection in Scala, Error in Passing parameters to function

我在 Scala 中使用 Java 反射,但是當我嘗試調用該函數時出現以下錯誤:java.lang.IllegalArgumentException:參數類型不匹配

testClass 中存在以下函數

def test(mystr:String):String ={
  return "hi"
}

我通過以下方式調用上述函數

var params = new Array[Object](1)
params(0) = "hi"

//extractOject is instance of testClass
val featuresJsonStr = extractFunction.invoke(extractOject,params)

我讀到調用函數需要函數的參數作為對象數組,我試圖在這里做同樣的事情

你忘了在 Scala 中使用 varargs 語法

val featuresJsonStr = extractFunction.invoke(extractOject, params: _*) // hi

如何將 Scala 數組傳遞給 Scala vararg 方法?

要不就

val featuresJsonStr = extractFunction.invoke(extractOject, "hi") // hi

(請不要在 Scala 中使用return關鍵字。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM