Найти в Дзене

Примитивы 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)

Пишите в коменты ответы.
Объяснение будет в одном из следующих постов!
Около минуты