Примитивы Java/Kotlin.
В Java/Kotlin все делится на примитивные типы и обьекты.
Byte, Short, Int, Long, Float, Double, Boolean, Char
📌Например String - является объектом, а char - примитивом.
Для примитивов существуют классы обертки во многом для того, чтобы была возможность работать с обобщенными типами, дженериками.
В Kotlin примитивы отличаются от тех, что были в Java. Здесь они все являются объектами. Об этом стоит помнить, особенно если работаете с большими массивами, вот вы думаете что у вас в массиве 1.5 миллиарда примитивных Int значений, а по факту там лежат объекты. Что может привести к тормозам или как минимум к просадке перфоманса.
Бонусом - задачка с собесов со звездочкой:
Что будет выведено:
val a1 = Integer.valueOf(100)
val a2 = Integer.valueOf(100)
val b1 = Integer.valueOf(500)
val b2 = Integer.valueOf(500)
println(a1 === a2)
println(b1 === b2)
Пишите в коменты ответы.
Объяснение будет в одном из следующих постов!
Около минуты
9 апреля 2023