Kotlinでオプショナル型(Optional)の変数を扱う方法

Kotlinにはオプショナル型(Optional)という考え方があり、これは値が空である(null)を許容するかどうかを指定できます。

 

Kotlinでオプショナル変数を定義・宣言する方法

このように null を許容する場合は、型名のあとに ? をつけてあげる必要がある。

もちろん、一番下のようにnullで初期化することも可能。

 

オプショナル変数をアンラップ(unwrap)する

オプショナル変数は通常の変数と異なる。ので、通常の変数と同じように扱う場合はアンラップという一手間が必要になる。

ちょっとまだメソッドなどについて説明してないが、Stringに?がついていないfuga()ではエラーになり、moe()ではエラーにならない。

これはwrapされた変数とwrapされていない変数が明確に区別されているためだ。

 

また !! を使うことでwrapを取り外す(unwrap)することができるので、その状態にすればfuga()もエラーにならなくなる。

 

しかし、unwrap(!!)は強制unwrapとも呼ばれ、失敗したときにエラーで、最悪アプリが強制終了してしまうなどの弊害があるため、多用はおすすめできない。

安全にアンラップする方法は後に書くこととする。

未分類

Posted by tecco