Я читал это в нескольких местах. Но толком не понял смысла. Вы можете прочитать эту краткую документацию по kotlinlang:
«В Kotlin все является объектом в том смысле, что мы можем вызывать функции-члены и свойства для любой переменной. Некоторые типы могут иметь специальное внутреннее представление — например, числа, символы и логические значения могут быть представлены как примитивные значения во время выполнения — но для пользователя они выглядят как обычные классы».
Что такое особое внутреннее представление? Что это значит, могут быть представлены в виде примитивных значений во время выполнения?
Это только возможность вызова функций преобразования, таких как toInt()? А функции расширения?
В другом месте я прочитал следующее утверждение:
«Для примитивных типов данных из java в kotlin есть специализированные типы массивов, такие как ByteArray». Означает ли это, что я могу создать массив в Kotlin только с такими функциями, как intArrayOf(1, 2, 3) или IntArray(5)?
Еще одно утверждение, которое я нахожу сбивающим с толку, из книги Head First Kotlin:
«Когда вы объявляете переменную, используя такой код:
var x = 5
значение, которое вы присваиваете переменной, используется для создания нового объекта».
«Когда объект присваивается переменной, сам объект не входит в переменную. Вместо этого в переменную помещается ссылка на объект:
Но следующий фрагмент кода делает то же самое, что и Java.
fun main() {
var x = 5
var y = x
x = 15
println("Hello, world!!! $y")
}
Вывод 5. Но я думаю, что должно быть 15, потому что это объект и ссылка на него. Может быть, я немного глуп, чтобы понять Котлин. Это мое понимание переменных, ссылок и управления памятью в таких языках программирования, как Java (или Kotlin).