lundi 22 août 2016

Java Reflection in Scala

I am trying to get a simple java reflection program working in Scala, and seem to be missing something ...

scala> val cl = new URLClassLoader(Array(new File("Hi.jar").toURI.toURL), getClass.getClassLoader)
cl: java.net.URLClassLoader = java.net.URLClassLoader@3c7b137a

scala> val c = cl.loadClass("Hi")
c: Class[_] = class Hi

scala> val m = c.getMethod("run")
m: java.lang.reflect.Method = public void Hi.run()

scala> m.invoke()
<console>:21: error: not enough arguments for method invoke: (x$1: Any, x$2: Object*)Object.
Unspecified value parameters x$1, x$2.
       m.invoke()
               ^

What am I missing, as the prior line has indicated -

public void Hi.run()

What exactly is it expecting for the two arguments?





Aucun commentaire:

Enregistrer un commentaire