Kotlinコンパイラは"Hello, $name!"
次のようなものを使用して翻訳しますか
java.lang.String.format("Hello, %s!", name)
または他のメカニズムはありますか?
そして、例えば私がこのようなクラスを持っているなら:
class Client {
val firstName: String
val lastName: String
val fullName: String
get() = "$firstName $lastName"
}
このゲッターはキャッシュされた文字列を返しますか、それとも新しい文字列を作成しようとしますか?代わりにlazyOfデリゲートを使用する必要がありますか?
への呼び出しが何百万回もない限り、パフォーマンスの問題は発生しないことはfullName
わかっていますが、使用方法を除いて、この機能に関するドキュメントは見つかりませんでした。
Kotlinコンパイラはこのコードを次のように変換します。
new StringBuilder().append("Hello, ").append(name).append("!").toString()
キャッシュは実行されません。文字列テンプレートを含む式を評価するたびに、結果の文字列が再構築されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加