Kotlin で Elvis オペレーターを使用する

Kailash Vaviya 2024年2月15日
  1. Kotlin で Elvis オペレーターを使用する
  2. まとめ
Kotlin で Elvis オペレーターを使用する

Java の三項演算子を覚えていますか?コトリンのエルビスオペレーターはそれに似たものです。

Elvis オペレーターの記号は、疑問符の後にコロン(?:)が続きます。これは、2つの式を評価するバイナリ演算子です。

左の式が null 以外の場合、その式の参照または値が使用されます。ただし、左側の式に null 参照がある場合、右側の式が実行されます。

Elvis オペレーターは、左側の式が null の場合にのみ、右側の式を評価します。

Kotlin で Elvis オペレーターを使用する

変数に null 値があり、null 以外の値のみを使用するとします。これは、if-else ステートメントを使用して行うことができます。

fun main(args: Array<String>) {
    var str: String? = null
    var str1: String? = "Hi, Welcome!"
    var l:  Int = if (str != null) str.length else -1
    var l1:  Int = if (str1 != null) str1.length else -1
    println("str's legth is ${l}")
    println("str1's length is ${l1}")
}

出力:

条件付きステートメントに if-else を使用する

Elvis 演算子を使用すると、上記のコードを短縮できます。したがって、if-else ステートメント全体を記述する代わりに、Elvis 演算子を使用できます。

例のデモを確認するには、ここをクリックをクリックしてください。

Elvis 演算子の例を次に示します。上記のコードと同じ結果を実行しようとしますが、今回は Elvis 演算子を使用します。

fun main(args: Array<String>) {
    var str: String? = null
    var str1: String? = "Hi, Welcome!"
    var l:  Int = str ?.length ?: -1
    var l1:  Int = str1 ?.length ?: -1
    println("str's legth is ${l}")
    println("str1's length is ${l1}")
}

出力:

Elvis オペレータの使用

例のデモを確認するには、ここをクリックをクリックしてください。

まとめ

Kotlin の Elvis オペレーターを使用して、ヌルの安全性チェックを行うこともできます。throwreturn は式なので、Elvis 演算子の右側で null の安全性チェックに使用できます。

著者: Kailash Vaviya
Kailash Vaviya avatar Kailash Vaviya avatar

Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.

LinkedIn

関連記事 - Kotlin Operator