Lecture 8: Nullable Types and Type Safety

This lecture explores how Kotlin solves a problem commonly encountered in Java applications: that of null pointer exceptions. It looks at the separation between nullable and non-nullable types. It considers how the safe call and Elvis operators simplify null checking, allowing it to be done with minimal impact on code readability. Finally, it looks at type checking using is and at how Kotlin can 'smart cast' a reference after it has been subject to type checking.