Estoy tratando de insertar algún código Scala en mi aplicación Java existente. (Entonces, dicho esto, quiero un poco más de diversión).¿Cómo se llama a un método singleton de Scala desde Java?
creo un producto único en materia Scala
ScalaPower.scala
package org.fun
class ScalaPower
object ScalaPower{
def showMyPower(time:Int) = {
(0 to time-1).mkString(", ")
}
}
Ahora, en el interior OldJava.java
class OldJava {
public void demo(){
System.out.println(?)
}
}
¿Qué debo rellenar ?
de manera que Java llamará al método showMyPower? Intenté ambos org.fun.ScalaPower.showMyPower(10)
y org.fun.ScalaPower.getInstance().showMyPower(10)
pero ninguno funciona.
(descompilar el archivo de clase utilizando Jad mostrarme nada más que código sin sentido.)
Editar que retire la declaración class ScalaPower
y Scala producen el método estático como se esperaba. (llame al org.fun.ScalaPower.showMyPower(10)
solo funciona).
pregunto si es un error en el compilador Scala o no
¿Qué hay de 'org.fun.ScalaPower.showMyPower (10)'? – OscarRyz
Ay, mi mal. Olvidé cambiar el espacio de nombres. Actualizado la pregunta ya. Gracias. –
Por cierto, puede escribir '0 until time' en lugar de' 0 to time-1'. –