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}")
}
出力:
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 の安全性チェックに使用できます。
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