Kotlinの!!演算子について学びます。
?はnullableを表しますが、!!はnotnullを表します。

Kotlinでは、nullableのオブジェクトに対して、コンパイルすることができませんが、
notnullを示す、!!演算子を使用することで、明示的にnullを代入しているオブジェクトの
内部にアクセスするコードがあってもコンパイルすることが可能です。

例を見ていきましょう

nullableオブジェクトstrに!!演算子を使用することにより、コンパイルが通ります。
実行結果は、

Exception in thread “main” kotlin.KotlinNullPointerException
at MainKt.main(main.kt:5)

となり、当然Exceptionを吐きましたが、コンパイル実行することはできました。