[Kotlin]「セーフコール」とは?

Kotlin

どうも、ちょげ(@chogetarou)です。

この記事では、Kotlinの「セーフコール」について解説します。

スポンサーリンク

セーフコールとは?

技術, コンピュータ, コード, Java スクリプトの設定, 開発者, プログラミング, プログラマ

「セーフコール」は、「?.」という記述のことを指します。

実際には、「変数 ?. メソッド 」というようになっています。

このセーフコールは、変数?の値がnull(ヌル)ならば、ドット(.)以降のメソッドの結果もnull(ヌル)を返すというものです。

意味合いとしては、「変数は存在していますか?いないならメソッドもありませんよ」です。

var text: String? = "abc"
var text2: String? = null

text?.length() // 3
text?.length() //null

上記は、String型の変数とそのメソッドlengthを使った例です。

textの場合は、nullではないので、文字数の長さをlength()の結果として得られます。

text2の場合は、nullなので、文字数の長さではなくnullがlength()の結果になっています。

「何に使うの?」という人もいるかと思います。

セーフコールは、nullによる条件分岐に使われます。

先程の例でいえば、「nullでなければlength()の長さを返し、nullであれば別の値を返すようにする」といったように出来ます。

まとめ

Kotlinの「セーフコール」は、「変数? . メソッド」と書き、変数がnullであればメソッドの結果もnullになるというものです。

変数がnullかどうかで条件分岐させたい時なんかに使います。

参考

コメント

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