【发布时间】:2019-10-28 05:41:03
【问题描述】:
我在运行以下代码时遇到了一个非常奇怪的输入错误。
此代码的目标是拥有一个可以将此类的其他实例与其自身组合的类,从而生成更新后的实例。 (也许我应该更喜欢不变性和返回副本,但这是另一个讨论)。
在我尝试运行代码之前,IntelliJ 不会抱怨,然后它会因
而崩溃发现类型不匹配:mic.MyInternalClass 必需:MyClass.this.MyInternalClass this.myVar =
this.myVar.combine(mic.myVar)"
class MyClass(s: String) {
var myVar: MyInternalClass = new MyInternalClass(s)
def combine(mic: MyClass): MyClass = {
this.myVar = this.myVar.combine(mic.myVar)
this
}
class MyInternalClass(s: String) {
var myInternalVar: String = s
def combine(mic: MyInternalClass): MyInternalClass = {
this.myInternalVar += mic.myInternalVar
this
}
}
}
object App {
def main(args : Array[String]) {
var mc1: MyClass = new MyClass("dog")
var mc2: MyClass = new MyClass("cat")
mc1.combine(mc2)
println(mc1.myVar.myInternalVar)
println(mc2.myVar.myInternalVar)
}
}
【问题讨论】:
标签: scala