KotlinはNull許容型をサポートしており、変数がnullである可能性がある場合に備えてエルビス演算子(?:)が用意されています。このエルビス演算子は、変数がnullでない場合にはその値を返し、nullの場合には代替値を返すためのものです。

以下のコードを見てみましょう:

fun main() {
    val nullableValue: Int? = null
    val result = nullableValue ?: 10 // エルビス演算子を使用
    println(result)
}

このコードでは、nullableValueがnullであるため、エルビス演算子が代替値である10を返します。したがって、このプログラムを実行すると、コンソールに10が表示されます。

しかし、エルビス演算子はさらにニッチな挙動を持っています。それは、代替値としてnullを指定した場合です。以下のコードを見てみましょう:

fun main() {
    val nullableValue: Int? = null
    val result = nullableValue ?: null // 代替値としてnullを指定
    println(result)
}

この場合、エルビス演算子はnullableValueがnullである場合にnullを返します。そのため、コンソールには何も表示されず、結果はnullです。

この挙動は、特定のケースで便利です。たとえば、関数がnull許容型の値を返す場合、エルビス演算子を使用してデフォルト値としてnullを指定することで、呼び出し元がnullチェックを行う手間を省くことができます。

Kotlinのエルビス演算子は、Null許容型のコードをよりシンプルにし、エラーを防ぐための強力なツールです。しかし、代替値としてnullを指定することによる挙動は、注意して使用する必要があります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です