我正在尝试将一些Scala代码注入到我现有的Java应用程序中。 (所以,据说,我想要更多乐趣)。如何从Java调用Scala单例方法?
创建斯卡拉
ScalaPower.scala
package org.fun
class ScalaPower
object ScalaPower{
def showMyPower(time:Int) = {
(0 to time-1).mkString(", ")
}
}
一个单独的东西现在,里面OldJava.java
class OldJava {
public void demo(){
System.out.println(?)
}
}
我应该怎么填写?
,使Java将调用showMyPower方法? 我试过org.fun.ScalaPower.showMyPower(10)
和org.fun.ScalaPower.getInstance().showMyPower(10)
,但都没有工作。
(使用反编译亚德类文件告诉我什么,但废话代码。)
编辑 我删除class ScalaPower
声明和Scala产生的静态方法如预期。 (致电org.fun.ScalaPower.showMyPower(10)
只是工作)。
不知道是否是在Scala编译器错误或不
什么'org.fun.ScalaPower.showMyPower(10)'? – OscarRyz 2010-07-19 16:55:01
哎哟,我的坏。忘了更改名称空间。已经更新了这个问题。谢谢。 – 2010-07-20 06:34:50
顺便说一下,你可以写'0直到时间'而不是'0到时间1'。 – 2011-02-10 08:27:37