Como a interpolação de strings funciona no Kotlin?

O compilador Kotlin traduz"Hello, $name!" usando algo como

java.lang.String.format("Hello, %s!", name)

ou existe algum outro mecanismo?

E se eu tiver uma classe como esta, por exemplo:

class Client {
  val firstName: String
  val lastName: String
  val fullName: String
    get() = "$firstName $lastName"
}

Esse getter retornará uma string em cache ou tentará criar uma nova string? Devo usar o delegado lazyOf?

Sei que não haverá problemas de desempenho, a menos que haja milhões de chamadas parafullName, mas não encontrei documentação sobre esse recurso, exceto sobre como usá-lo.

questionAnswers(4)

yourAnswerToTheQuestion