【学習kotlinシリーズ】Null安全

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

Qiitaでことりん学習帳を発売しています!

Null安全

次のコードはエラーが起こる。

これは、KotlinのNull安全という考え方からきている。String型が安易にnullになってしまうと、toUpperCaseメソッドなどのStringオブジェクトに紐付いているプロパティやメソッドを使った際にエラーを投げてしまうから、その前の段階でnullを値を取れないようにしている。ただしnullになれないのも不便のため、nullを設定できる方法が用意されている。

次のコードは、エラーが起きずに正常にString型にnullを設定できる。

型の後に?をつけることで、nullを設定できる。ただし上述の通り、Stringオブジェクトのプロパティやメソッドにはアクセスできない。
ここまでは想定できる。が、Kotlinでは、例えば

のように、null以外の値を取った場合でも、Stringオブジェクトのプロパティやメソッドにはアクセスできない。これは、strがnullを取りうる変数のため危険だから、という考え方から来ている。

慣れるまで大変そうだけど、このような考え方で危険な操作を事前に防いでいる。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です