Kotlinのsafe castについて学びます。

down castをすると場合、対象が適切でないと、exceptionがthrowされますが、
exceptionをthrowせず、nullを返してくれるのが、safe castです。

では、例をみましょう。

1.Anyで宣言された変数は初期値でStringに

変数objはAnyオブジェクトとして宣言されていますが、文字列が初期値に代入されているため、
Stringオブジェクトに変換されます。

また、javaClassにより、Stringオブジェクトであることがわかりました。

2.safe castでnull出力

2.ではsafe castを用いて、Down castしようとしていますが、
objはStringオブジェクトであるため、Int型にcastすることができません。

通常のdown castだと例外をthrowしますが、safe castを使用しているため。
nullが出力されます。

最後にsafe castの書き方です。

型 as? 型

以上です。