Null安全 ● nullの可能性のあるものと、そうでないものを厳格に区別する ことでケアレスミスを防ぐ val a: Int = null // コンパイルエラー val b: Int? = null // OK b.toString() // コンパイルエラー if (b != null) b.toString() // OK b?.toString() // OK
Javaコードの呼び出し結果はハテナだらけ? val foo: File = File("/") val bar: File? = foo.absoluteFile val baz: File? = foo.parentFile コンストラクタの 戻り値はNotNull getXxx()メソッドは xxxプロパティのように