相关疑难解决方法(0)

你如何从Java调用Scala单例方法?

我正在尝试将一些Scala代码注入到我现有的Java应用程序中.(所以说,我想要更多的乐趣).

我在Scala中创建了一个单例东西

ScalaPower.scala

    package org.fun
    class ScalaPower
    object ScalaPower{
      def showMyPower(time:Int) = {
        (0 to time-1).mkString(", ")
      }
    }
Run Code Online (Sandbox Code Playgroud)

现在,在OldJava.java中

class OldJava {
  public void demo(){
    System.out.println(?)
  }
}
Run Code Online (Sandbox Code Playgroud)

我应该填写什么?以便Java将调用showMyPower方法?我都尝试 org.fun.ScalaPower.showMyPower(10)org.fun.ScalaPower.getInstance().showMyPower(10)但没有工作.

(使用Jad反编译类文件只显示无意义的代码.)

编辑 我删除class ScalaPower声明和scala按预期生成静态方法.(打电话给org.fun.ScalaPower.showMyPower(10)工作).

不知道它是否是scala编译器中的错误

java interop scala scala-java-interop

22
推荐指数
3
解决办法
1万
查看次数

标签 统计

interop ×1

java ×1

scala ×1

scala-java-interop ×1