当我在 scala 中使用以下代码时,我得到一个运行时异常:
java.lang.NoSuchMethodError:线程“main”中的主要异常
object Driver {
def main(args:Array[String]) = {
java.lang.System.currentTimeMillis();
}
}
但是当我删除 java.lang.System.currentTimeMillis(); 主要方法找到了。
为什么是这样 ?
当我在 scala 中使用以下代码时,我得到一个运行时异常:
java.lang.NoSuchMethodError:线程“main”中的主要异常
object Driver {
def main(args:Array[String]) = {
java.lang.System.currentTimeMillis();
}
}
但是当我删除 java.lang.System.currentTimeMillis(); 主要方法找到了。
为什么是这样 ?
是等号!
这导致 Scala 推断返回类型为main( LongScala) / long(在 JVM 级别)。当您删除它时,它会推断Unit/ void。同样,当您删除对currentTimeMillis.
def main(args:Array[String]): Unit = {是 的确切签名main()。删除=似乎也是一种解决方案,但不太容易出错。
如果你需要的只是你可以使用的时间compat.Platform.currentTime
你的对象也应该是
object Driver {
def main(args:Array[String]){
java.lang.System.currentTimeMillis();
}
}