2013-02-20 70 views
4

当我在Scala中使用下面的代码,我得到一个运行时异常:无法使用java.lang.System.currentTimeMillis()在scala中访问当前毫秒时间;

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

object Driver { 

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

     java.lang.System.currentTimeMillis(); 

    } 

} 

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

这是为什么?

+0

也在System.currentTimeMillis中 – oluies 2013-02-20 23:42:21

回答

16

这是等号!

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

1

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

也是你的对象应该是

object Driver { 

    def main(args:Array[String]){ 

     java.lang.System.currentTimeMillis(); 

    } 

} 
1

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

相关问题