0
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_102).
Type in expressions for evaluation. Or try :help.
scala> Thread.currentThread.sleep(1000)
<console>:12: error: value sleep is not a member of Thread
Thread.currentThread.sleep(1000)
^
scala>
scala> Thread.currentThread.getClass.getMethods.filter(_.getName == "sleep").last.invoke(Thread.currentThread, new java.lang.Long(1000))
res2: Object = null // after a second-long delay. Duh
何が得られますか?
愚かな瞬間: – Dima
''%d ".format(1)'は実際には素晴らしい(スカラではなくJavaでは)ので、 "静的メソッドはインスタンスに属していない"正しい。 スカラーは静的メソッド呼び出しを、最初の引数としてメソッドにlhsを渡したいのと同じように解釈するので、 '"%d ".format(1)'は '' String.format( "%d" 1) 'と動作し、' thread.sleep(1000) 'は' Thread.sleep(thread、1000) 'になり、(もちろん)失敗します。 – Dima
@Dima '"%d ".format(1)'は '' String.format( "%d"、1) 'に変換されません。暗黙の変換によって 'new StringOps("%d ")。format(1)'に変換されます。 'thread.sleep(1000)'は何にも変換されませんが、インスタンスメソッド 'sleep'がなく、暗黙的に何かに変換されていないので失敗します。 「静的メソッドはインスタンスに属していません」というステートメントは正しいです。 –