KotlinのDownCastに関してです。
Javaと同様KotlinもCastが可能です。

Castとは、定義された変数の型を親または、子の型に変換する機能です。

Kotlinでは、すべてのオブジェクトの親クラスとして、Anyが定義されています。
このAny Objectを基準にダウンキャストをしてみたいと思います。

1.kotlin downcast

DownCastするには、以下のように記述します。

変数 as 型

1.では、AnyからInt型にDownCastしています。

2.違う型へのDownCast

2.では、Int型で定義されたvalueをStirng型にDownCastして、
出力しようとしているので、Exceptionが発生してしまいます。
DownCastを使用する際は注意が必要です。