Обобщенный класс в Kotlin
Параметр типа можно задать не только у функции, но и у класса. Имя в угловых скобках после имени класса участвует в типе свойств и в типе самого объекта.
Коробка держит одно значение и отдает его через свойство:
class Box<T>(val item: T)
fun main() {
val textBox = Box("note")
val numBox = Box(100)
println(textBox.item)
println(numBox.item)
}
Тип Box<String> и Box<Int> различается:
из первой читают строку, из второй - число.
Параметр T в конструкторе задает тип
item:
class Box<T>(val item: T) {
fun describe(): String {
return "holds ${item::class.simpleName}"
}
}
fun main() {
val box = Box(listOf(1, 2))
println(box.describe())
}
Сделайте класс с одним параметром типа и
полем для хранимого значения. Создайте
объект со строкой "kit" и выведите
поле.
Добавьте метод, который принимает второе
значение того же типа и возвращает список
из item и этого аргумента. Для
коробки с "a" и аргумента "b"
выведите список.