这种行为似乎被打破了(我使用的是 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 类型系统中的一些更深层次的问题?