HOWTO · Kotlin
Kotlin で Elvis オペレーターを使用する
Kotlin の Elvis オペレーターとその仕組みについて学習します。また、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}")
}
出力:
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}")
}
出力:
例のデモを確認するには、ここをクリックをクリックしてください。
まとめ
Kotlin の Elvis オペレーターを使用して、ヌルの安全性チェックを行うこともできます。throw と return は式なので、Elvis 演算子の右側で null の安全性チェックに使用できます。