10

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

4

1 回答 1

25

试试b ++= "de"。AString被认为是 s 的集合Char

于 2012-07-24T18:52:18.180 回答