【学習kotlinシリーズ】Null安全
Qiitaでことりん学習帳を発売しています!
Null安全
次のコードはエラーが起こる。
val str: String = null
これは、KotlinのNull安全という考え方からきている。String型が安易にnullになってしまうと、toUpperCaseメソッドなどのStringオブジェクトに紐付いているプロパティやメソッドを使った際にエラーを投げてしまうから、その前の段階でnullを値を取れないようにしている。ただしnullになれないのも不便のため、nullを設定できる方法が用意されている。
次のコードは、エラーが起きずに正常にString型にnullを設定できる。
val str: String? = null
型の後に?をつけることで、nullを設定できる。ただし上述の通り、Stringオブジェクトのプロパティやメソッドにはアクセスできない。
ここまでは想定できる。が、Kotlinでは、例えば
val str: String? = "文字列"
のように、null以外の値を取った場合でも、Stringオブジェクトのプロパティやメソッドにはアクセスできない。これは、strがnullを取りうる変数のため危険だから、という考え方から来ている。
慣れるまで大変そうだけど、このような考え方で危険な操作を事前に防いでいる。
ディスカッション
コメント一覧
まだ、コメントがありません