这种行为似乎被破坏了(我使用的是Scala 2.9.1)
var b= new StringBuilder
这些都可以:
b+='a'
b.append('b')
b.append("de")
这会产生编译错误:
b+="de"
为什么只有StringBuilder#+ =(c:Char)存在,而StringBuilder#append(c:Char)和StringBuilder#append(s:String)是否幸存共存?声明和实现StringBuilder#+ =(s:String)有什么问题?
Scala类型系统中是否存在疏忽或更严重的问题?
答案 0 :(得分:24)
试试b ++= "de"
。 String
被视为Char
s的集合。