Store a value while keeping its type.

Generic Box

GenericBox.kt
class Box<T>(val value: T) {
    fun label(): String {
        return "value:$value"
    }
}

fun main() {
    val item = 
    val box = Box(item)
    val label = box.label()

    println("item=$item")
    println("label=$label")
}
class Box<T>(val value: T) {
    fun label(): String {
        return "value:$value"
    }
}

fun main() {
    val item = 
    val box = Box(item)
    val label = box.label()

    println("item=$item")
    println("label=$label")
}
class Box<T>(val value: T) {
    fun label(): String {
        return "value:$value"
    }
}

fun main() {
    val item = 
    val box = Box(item)
    val label = box.label()

    println("item=$item")
    println("label=$label")
}
generic-class A generic class can keep the type of the value it stores.