Elvis演算子
CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 15/93。
安全呼び出し演算子はクラッシュを回避するのに便利ですが、null の代わりに実際の値が必要な場合もあります。Elvis 演算子 ?:を使うと、式が null の場合にデフォルト値を指定できます。
構文は簡単です。null 許容式の後に ?: を置き、その後にフォールバック値を続けます。
fun main() {
val name: String? = null
val displayName = name ?: "Guest"
println(displayName) // 出力: Guest
}左辺が null でない場合は、その値が使用されます。null の場合は、右辺が結果になります。これは安全呼び出しと完全に連携します。
fun main() {
val text: String? = null
val length = text?.length ?: 0
println(length) // 出力: 0
val greeting: String? = "Hello"
val greetingLength = greeting?.length ?: 0
println(greetingLength) // 出力: 5
}この演算子は、?:を横から見るとエルビスの髪のように見えることから、その名前が付いています。さらに重要なのは、妥当なデフォルト値を使って、nullable型をnull非許容値に変換する簡潔な方法を提供することです。
チャレンジ
簡単荷物には、任意の追跡ラベルと任意の宛先があります。スターターコードでは、両方が null 許容値として提供されています。追跡ラベルがない場合は ?: を使って "Pending" を選び、宛先がない場合は "Unassigned" を選んでください。選択したラベルを出力し、続けて選択した宛先を別々の行に出力してください。
自分で試してみよう
fun main() {
val trackingLabel: String? = null
val destination: String? = "Harbor"
// 2つの表示値を選択して出力する。
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Kotlinプレイグラウンド