【发布时间】:2016-01-09 12:16:48
【问题描述】:
我是 Scala 的新手,我见过这样的 Scala 中连接字符串的代码:
"test " ++ "1"
而且我已经测试过了,也是写在Scala Doc
"test " + "1"
所以我的理解是+ 就像Java String + 但++ 更强大,可以接受更多类型的参数。 ++ 似乎也适用于 List 等其他事物。我想知道我的理解是否正确。和任何其他差异?什么时候应该为了字符串连接而一个接一个?
【问题讨论】:
-
除了答案,我建议不要再使用
+。它很可能会被弃用并最终被删除。现在 Scala 有了字符串插值,这是组成字符串的首选方式。使用++可能会慢一些,但我认为这是一个很好的替代方案,语法清晰并且与 Scala 的集合保持一致。 -
@0__ 2 小时前,+ 来自 Java 字符串,对吗?我的意思是在那种情况下,Scala 会为 Scala 字符串保留它吗?
-
+没有在java.lang.StringAPI 上定义,在 Java 中它只是运行字符串生成器的语法糖。这在 Scala 中也是一样的,即使没有Predef.any2stringadd,编译器也会定义带有+的字符串连接。另见:stackoverflow.com/questions/2664274/…
标签: java string scala operators