Open2

【Kotlin】`toString()`の仕様のワナ(ちゃんとリファレンスを読もう)

ふじしろふじしろ

結論

  val nullableString = null
  println(nullableString is String) // 1
  println(nullableString.toString() is String) // 2
  println(nullableString?.toString() is String) // 3
  // 結果
  // 1: false
  // 2: true <- !?
  // 3: false
ふじしろふじしろ

公式リファレンス | toString()
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/to-string.html

原文

Returns a string representation of the object. Can be called with a null receiver, in which case it returns the string "null".

(DeepL訳)

オブジェクトの文字列表現を返す。ヌル・レシーバーで呼び出すこともでき、その場合は文字列 "null" を返します。

Kotlinでnull.toString()
https://qiita.com/dys/items/768397e2df20765bc6d1