任何人都可以用我的案例类解释这种奇怪的行为吗?
case class Dai(var g :Int) {
def getG() = g
}
val dai: Dai = Dai(20)
dai.g = 30
// why v2 difference with getGet
val v2 = dai.getG // 30
var getGet = dai.getG // 20
答案 0 :(得分:1)
Intellij工作表有这个问题
但不是来自REPL
必须与Intellij如何运行工作表有关?
答案 1 :(得分:0)
在运行2.11.2的系统上不会发生这种情况。最有可能是通过升级您的发行版来修复的错误。
scala> case class Dai(var g :Int) {
| def getG() = g
| }
defined class Dai
scala>
scala> val dai: Dai = Dai(20)
dai: Dai = Dai(20)
scala>
scala> dai.g = 30
dai.g: Int = 30
scala> // why v2 difference with getGet
scala> val v2 = dai.getG // 30
v2: Int = 30
scala> var getGet = dai.getG // 20
getGet: Int = 30