Kotlinのスマートキャスト
スマートキャストとは?
スマートキャストは、型判定とキャストが同時に行われる、Kotlinコンパイラの仕組みのことをいいます。
使い方
Kotlinではis
演算子を使うことで、下記のようにスマートキャストが行われます。
fun demo(x: Any) { if (x is String) { print(x.length) // x は自動的にStringにキャストされてる } }
また、スマートキャストで右辺の式を正しく評価することも可能です。めちゃ便利ですね😇
if (x !is String || x.length == 0) return if (x is String && x.length > 0) { print(x.length) }
when
式でも使えるらしいです。
when (x) { is Int -> print(x + 1) is String -> print(x.length + 1) is IntArray -> print(x.sum()) }
てな感じで本日も以上となります🍺