Kotlin で Null チェックを実装する

Kailash Vaviya 2023年1月30日
  1. Kotlin で条件付きステートメントを使用して Null チェックを実装する
  2. Kotlin で安全な呼び出しを使用して Null チェックを実装する
  3. Kotlin で Elvis オペレーターを使用して Null チェックを実装する
Kotlin で Null チェックを実装する

いくつかのプリミティブタイプは null を受け入れず、エラーをスローします。null 参照でエラーが発生すると、アプリケーションが失敗したり、システムがクラッシュしたりする可能性があります。したがって、プログラムを実行する前に、null 参照を確認することが重要です。

Kotlin を使用すると、さまざまな方法で null をチェックできます。この記事では、Kotlin で null をチェックし、NullPointerException エラーを防ぐ方法を説明します。

Kotlin で条件付きステートメントを使用して Null チェックを実装する

Kotlin で null をチェックする最も簡単な方法は、条件付きステートメントを使用することです。ここでは、条件演算子 == または == を使用して、それに応じて条件ステートメントを実行できます。

== の代わりに === を使用し、!= の代わりに!== を使用することもできます。構造的同等性 x == null は、とにかく参照的同等性 x === null に変換されます。したがって、===== のどちらを使用しても大きな違いはありません。

これは、Kotlin での null チェックの条件付きステートメントの使用を示す例です。

fun main() {
    val x: String? = "Android"
    if (x != null && x.length > 0) {
        print("This is not null, its length is: ${x.length}")
    } else {
        print("This is a null string!")
    }
}

出力:

Kotlin ヌルチェックに条件付きステートメントを使用する

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

ここで、値を null に変更すると、他の出力が得られます。

fun main() {
    val x: String? = null
    if (x != null && x.length > 0) {
        print("This is not null, its length is: ${x.length}")
    } else {
        print("This is a null string!")
    }
}

出力:

Kotlin で Null をチェックするための条件付きステートメントの使用

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

条件付きステートメントは、変数が val キーワードを使用して宣言されている場合にのみ機能します。val キーワードは単語を不変にします。

var 変数を使用する場合、null 参照をチェックした後、変数の値が変わる可能性があります。

Kotlin で安全な呼び出しを使用して Null チェックを実装する

安全な呼び出しは、Kotlin の null チェックの null 可能なプロパティにアクセスするためのもう 1つのオプションです。セーフコール演算子 ?. を使用できます式の結果を確認します。

式の結果に基づいて、さらにステートメントを実行できます。

これが例です。

fun main() {
    val v = "Android"
    val x: String? = null
    println(v?.length)
    println(x?.length)
}

出力:

Kotlin ヌルチェックに安全な呼び出しを使用する

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

安全な呼び出しは、チェーンの作成に特に役立ちます。たとえば、次のように書くことができます。

a?.b?.c?.d

上記の例では、anull でない場合、b に移動します。bnull でない場合は c に移動し、cnull でない場合は d に移動します。

コンパイラが null 値を見つけると、実行を停止して null を返します。

let 関数で安全な呼び出しを使用して、Kotlin の Null を処理する

通常、リストの値の 1つが null の場合、コンパイラーは null を返します。ただし、let 関数を安全な呼び出しと組み合わせて、リストの null 以外の値に対してのみ機能させることができます。

例:

fun main() {
    val myList: List<String?> = listOf("David", "Virat", "Steve", null)
    for (i in myList) {
        i?.let { println(it) } // prints only non-null values
    }
}

出力:

Kotlin ヌルチェックの安全な呼び出しで let 関数を使用する

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

Kotlin で Elvis オペレーターを使用して Null チェックを実装する

Kotlin の null チェックのもう 1つの優れたオプションは、Elvis 演算子 ?:を使用することです。参照で null 値が見つかった場合は、非 null またはデフォルト値を返します。

Elvis 演算子の左側と右側の 2つの式があります。左の式の値が null でない場合、演算子は値を返しますが、左の式が null の場合、Elvis 演算子は右側の式の値を返します。

ここで重要なのは、Elvis オペレーターは、左側の式が null の場合にのみ右側の式を実行するということです。

例:

fun main(args: Array<String>) {
    val i: String? = null
    val j: String = i ?: "Welcome! This is Kotlin Programming."
    // This print statement uses the Elvis operator
    println(i ?: j)
}

出力:

Kotlin ヌルチェックに Elvis 演算子を使用する

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

著者: 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