2
に+ =代入風変わり私はScalaの2.9をしようとしている次のことを考えてみましょう(と私はそれを好きに!):Scalaの文字列
scala> "hello" += " world"
<console>:8: error: value += is not a member of java.lang.String
"hello" += " world"
そして今
scala> var h = "hello "
h: java.lang.String = "hello "
scala> h += "world"
scala> h
res24: java.lang.String = hello world
私は、文字列の両方のことを考えているだろう最初の例の式は、操作を許可するために自然に評価されます。この行動の正当な理由はありますか?
乾杯!
aha。はい、それは理にかなっています。私は一日を通して自分自身のコピーを作っているコレクションを見てきました。乾杯! –
実際にあなたのコレクションはおそらく自分自身のコピーを作っていないでしょう。その中で、不変なコレクションクラスのほとんどは共有状態で実装されています。コピーが作成されているように見えますが、はるかに効率的です –
私はh = h + "world"のように見えますが、hはvar、valではなく – tuxSlayer