16 lines
921 B
Plaintext
16 lines
921 B
Plaintext
[[kotlin-null-safety]]
|
|
= Null-safety
|
|
|
|
One of Kotlin's key features is {kotlin-docs}/null-safety.html[null-safety],
|
|
which cleanly deals with `null` values at compile time rather than bumping into the famous
|
|
`NullPointerException` at runtime. This makes applications safer through nullability
|
|
declarations and expressing "`value or no value`" semantics without paying the cost of wrappers, such as `Optional`.
|
|
Kotlin allows using functional constructs with nullable values. See this
|
|
{baeldung-blog}/kotlin-null-safety[comprehensive guide to Kotlin null-safety].
|
|
|
|
Although Java does not let you express null-safety in its type-system, the Spring Framework
|
|
provides xref:core/null-safety.adoc[null-safety of the whole Spring Framework API]
|
|
via tooling-friendly https://jspecify.dev/[JSpecify] annotations.
|
|
|
|
As of Kotlin 2.1, Kotlin enforces strict handling of nullability annotations from `org.jspecify.annotations` package.
|