如何在Kotlin中串联字符串?

时间:2019-05-29 11:26:14

标签: kotlin

很明显,在Kotlin中有多种连接字符串的方法:

  1. processString(pojo.name +“” + pojo.value)
  2. processString(“ $ {pojo.name} $ {pojo.value}”)
  3. processString(pojo.name.plus(“”).plus(pojo.value))

当然也可以使用StringBuilder,concat()-Method等。 这些会起作用。

但是我的问题是,为什么Android Studio建议“将串联转换为模板”并将1.转换为2。 2有速度优势吗?那么使用2有什么优势呢?

2 个答案:

答案 0 :(得分:4)

TL; DR:字符串模板是连接字符串的最惯用的方式

documentation状态

  

请注意,在大多数情况下,使用字符串模板或原始字符串比使用字符串连接更合适。

字符串模板与常规串联基本相同(使用+),但更紧凑,惯用且同样有效。两种变体都是通过字节代码中的StringBuilder s实现的。

答案 1 :(得分:0)

这是因为1.方法来自Java。当然,编译器知道发生了什么,但建议是像声明2.那样在Kotlin中使用它。使用2.方法会更好,因为您可能会对用来求和的+plus())运算符感到困惑。