

Wouldn’t it be nice if we could detect possible NullPointerException exception errors at compile time itself and guard against them? NullPointerExceptions are Runtime Exceptions which are thrown by the program at runtime causing application failure and system crashes. If you have been programming in Java or any other language that has the concept of null reference then you must have heard about or experienced NullPointerException in your programs. Sir Tony Hoare, The inventor of null reference

This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years. But I couldn’t resist the temptation to put in a null reference, simply because it was so easy to implement. My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). It was the invention of the null reference in 1965. Numeric constants.Nullable Types and Null Safety in Kotlin Rajeev Singh Kotlin Febru5 mins read The example demonstrates the declaration and use of nullable variables of different types.

If a variable is declared as a nullable variable, then it can be assigned the null value.

That is, the error can be immediately identified and corrected, otherwise the program code will not be compiled. In the Kotlin language, the type system is organized in such a way that errors using nullable types are already detected at compile time. As a consequence, an exception is thrown (in Java it is a ), which is a consequence of the fact that the compiler was unable to detect an error during the compilation of the program. In other programming languages (Java in particular), incorrect use of nullable elements leads to run-time errors, which is very undesirable. When writing programs, it is important to use nullable elements correctly to avoid errors.
