Generics
Nullable Generics
Allow a generic box to hold a missing value.
Nullable Generics
NullableGenerics.kt
class MaybeBox<T>(val value: T?) {
fun orFallback(fallback: T): T {
if (value == null) {
return fallback
}
return value
}
}
fun main() {
val input: String? =
val box = MaybeBox(input)
val name = box.orFallback("guest")
println("input=${input ?: "none"}")
println("name=$name")
}
class MaybeBox<T>(val value: T?) {
fun orFallback(fallback: T): T {
if (value == null) {
return fallback
}
return value
}
}
fun main() {
val input: String? =
val box = MaybeBox(input)
val name = box.orFallback("guest")
println("input=${input ?: "none"}")
println("name=$name")
}
class MaybeBox<T>(val value: T?) {
fun orFallback(fallback: T): T {
if (value == null) {
return fallback
}
return value
}
}
fun main() {
val input: String? =
val box = MaybeBox(input)
val name = box.orFallback("guest")
println("input=${input ?: "none"}")
println("name=$name")
}
nullable-generic
A generic type argument can be nullable, just like a regular type.