Non-Nullable

See also Null References - The Billion Dollar Mistake by Tony Hoare, Tony Hoare, Null (SQL), Null reference, Null pointer, Null pointer exception, Nullable type, Null-Safety

Return to Kotlin glossary, Programming glossary, Kotlin

TLDR: A non-nullable type explicitly disallows null values, ensuring that variables always have a valid value. This concept, introduced in languages like Kotlin in 2011 and adopted by Dart and Swift, eliminates a significant source of runtime errors, such as null pointer exceptions. Non-nullable types enforce safety and reliability through compile-time checks.

https://en.wikipedia.org/wiki/Nullable_type

In languages with non-nullable support, variables default to being non-null unless explicitly declared as nullable. For example, in Kotlin, `String` is non-nullable, while `String?` allows null values. By enforcing this distinction at compile time, non-nullable types prevent developers from unintentionally passing or dereferencing nulls, reducing the need for runtime null checks.

https://kotlinlang.org/docs/null-safety.html

The use of non-nullable types improves code clarity and robustness. For example, APIs defined with non-nullable parameters and return values clearly communicate expectations, reducing ambiguity for developers using those APIs. Languages like Dart further enhance this approach with sound null safety, ensuring that null-related issues are caught early in development.

https://dart.dev/null-safety

Adopting non-nullable types is particularly beneficial in large-scale projects or collaborative environments. It encourages safer programming practices, making codebases easier to maintain and debug. Combined with tools like SonarQube or Pylint, developers can ensure that null-related errors are minimized, leading to higher-quality software.

https://www.sonarsource.com/products/sonarqube/


Cloud Monk is Retired ( for now). Buddha with you. © 2025 and Beginningless Time - Present Moment - Three Times: The Buddhas or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.