【Kotlin入門】データ型とnullの不整合に関する検知処理

Kotlin
スポンサーリンク

こんにちは😀

今回は、データ型の不整合を避けるためのnullの検知処理に
関してみていきます。

関数の戻り値や引き数が特定の場合にnullになるように指定すると、
計算や処理が失敗したときは値がnullになるので予め検知して
適切に処理することができます。

まずは、戻り値がnullになる可能性がある場合の処理を書いてみます。

以下は、変数bが「0」の場合、nullを返す関数になります。
そうでない場合は、割り算の値を返します。
戻り値がnullの可能性があるので、1行目の戻り値の型を「Int?」
とします。

fun divideNum(a:Int,b:Int):Int? { if (b == 0) return null else return a/b }

こちらは、main関数です。
divideNum関数を呼ぶ処理の変数bに「0」をセットしています。

fun main(args: Array<String>) {

println(“処理開始ーーーー”)

val samples = divideNum(5,0)

println(samples)

println(“ーーーー処理終了”) }

実行すると、nullが出力されています。
データ型とnull1
割り切れる場合は、普通の処理になります。
divideNum関数に、変数a=55と変数b=5をセットします。

val samples = divideNum(55,5)

実行すると、nullではなく、そのまま割り算の整数が出力されます。
データ型とnull2もし、戻り値の型に「?」を付けない場合は以下のように
エラーになります。
データ型とnullエラー

また、同じように引き数がnullの場合の判定も可能です。
以下の関数は、変数bがnullの場合を想定した処理です。
1行目の変数bの型を「Int?」にしています。

fun divideNum(a:Int,b:Int?):Int { if (b == null) return a else return a/b }

main関数はこうします。変数bにnullをセットします。

val samples = divideNum(55,null)

実行します。
bがnullなので、変数aの値を返し出力しています。
データ型とnull3

Kotlinはjavaと異なり、上記のようにnullの処理がわかりやすい
印象があります。
こういう処理で、nullが入力される場合に発生するエラーを
回避することができます。

今回はここまで🤚

では、また次回。

 

【Kotlin入門一覧はこちら】

コメント

タイトルとURLをコピーしました