4

当我在 scala 中使用以下代码时,我得到一个运行时异常:

java.lang.NoSuchMethodError:线程“main”中的主要异常

object Driver {

    def main(args:Array[String]) = {

      java.lang.System.currentTimeMillis();

    }

}

但是当我删除 java.lang.System.currentTimeMillis(); 主要方法找到了。

为什么是这样 ?

4

3 回答 3

16

是等号!

这导致 Scala 推断返回类型为main( LongScala) / long(在 JVM 级别)。当您删除它时,它会推断Unit/ void。同样,当您删除对currentTimeMillis.

于 2013-02-20T23:38:00.857 回答
1

def main(args:Array[String]): Unit = {是 的确切签名main()。删除=似乎也是一种解决方案,但不太容易出错。

于 2013-02-20T23:40:28.380 回答
1

如果你需要的只是你可以使用的时间compat.Platform.currentTime

你的对象也应该是

object Driver {

    def main(args:Array[String]){

      java.lang.System.currentTimeMillis();

    }

}
于 2013-02-20T23:37:46.190 回答