1

私が理解しているように、Scalaの文字列は値型です。

var a = "hello"
var b = a
b = "hi"

-

println(a)   // hello
println(b)  // hi

aがbをポイントし、上記のコードを印刷したい

hi
hi

これは可能ですか?

4

2 に答える 2

3

警告:これは非常に悪い機能スタイルです

あなたabは文字列です。必要なのは文字列への参照です!

class StringRef(var s:String)  

val a = new StringRef("hello")
val b = a
b.s = "Hi"
println(a.s)   // Hi
println(b.s)   // Hi
于 2013-03-24T12:24:45.893 に答える
2

Java / Scalaではすべてが値によって割り当てられるため、これを行うことはできません。別の変数を直接参照するように変数を割り当てることはできません。

代わりに、両方の変数を割り当てて、可変オブジェクトに同じ参照値を含めることができます。

于 2013-03-24T12:29:29.100 に答える