| Nullability | Java | Kotlin |
|---|---|---|
| Not null | Object! |
Any |
| Maybe-nullable | Object |
Any!1 |
| Nullable | Object? |
Any? |
| Not null param | T! |
T & Any |
| Nullable param | T? |
T? |
| Operation | Java | Kotlin |
|---|---|---|
| Else | original == null ? fallback : original |
original ?: fallback |
| Map if not null | original == null ? null : map(original) |
original?.map() |
| Take if | matches(original) ? original : null |
original.takeIf(::matches) |
| Take unless | matches(original) ? null : original |
original.takeUnless(::matches) |
| Throw if null | original (non-safe usage throws) |
original!! |
Footnotes
-
Cannot be declared. ↩