4

以下のコードをscalaで使用すると、ランタイム例外が発生します。

java.lang.NoSuchMethodError:mainスレッド"main"の例外

object Driver {

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

      java.lang.System.currentTimeMillis();

    }

}

しかし、java.lang.System.currentTimeMillis();を削除すると 主な方法が見つかりました。

どうしてこれなの ?

4

3 に答える 3

16

等号です!

これにより、Scalaはの戻り型を(Scala)/(JVMレベルで)と推測mainLongますlong。あなたがそれを取り除くとき、それはUnit/を推測しvoidます。同様に、への呼び出しを削除するときcurrentTimeMillis

于 2013-02-20T23:38:00.857 に答える
1

必要なのはあなたが使うことができる時間だけならcompat.Platform.currentTime

また、あなたのオブジェクトは

object Driver {

    def main(args:Array[String]){

      java.lang.System.currentTimeMillis();

    }

}
于 2013-02-20T23:37:46.190 に答える
1

def main(args:Array[String]): Unit = {の正確な署名ですmain()。削除=も解決策のようですが、エラーが発生しにくくなります。

于 2013-02-20T23:40:28.380 に答える