据我了解,Scala 中的字符串是值类型:
var a = "hello"
var b = a
b = "hi"
-
println(a) // hello
println(b) // hi
我想 a 指向 b 并在 print 上方制作代码
hi
hi
这可能吗?
据我了解,Scala 中的字符串是值类型:
var a = "hello"
var b = a
b = "hi"
-
println(a) // hello
println(b) // hi
我想 a 指向 b 并在 print 上方制作代码
hi
hi
这可能吗?
警告:这是非常糟糕的功能风格
你的a
和b
是字符串。您想要的是对字符串的引用!
class StringRef(var s:String)
val a = new StringRef("hello")
val b = a
b.s = "Hi"
println(a.s) // Hi
println(b.s) // Hi
您不能这样做,因为在Java/Scala 中,所有内容都是按值分配的。您不能分配一个变量来直接引用另一个变量。
相反,您可以分配两个变量以包含对可变对象的相同引用值。