这种行为似乎被破坏了(我使用的是Scala 2.9.1)
var b= new StringBuilder
Run Code Online (Sandbox Code Playgroud)
这些都可以:
b+='a'
b.append('b')
b.append("de")
Run Code Online (Sandbox Code Playgroud)
这会产生编译错误:
b+="de"
Run Code Online (Sandbox Code Playgroud)
任何想法为什么只有StringBuilder#+ =(c:Char)存在而StringBuilder#append(c:Char)和StringBuilder#append(s:String)幸福地共存?声明和实现StringBuilder#+ =(s:String)有什么问题?
它是疏忽还是Scala类型系统中的一些更深层次的问题?