История изменений
Исправление mono, (текущая версия) :
Потому что примитивы в java живут по своим законам, и это изначально была не очень хорошая идея архитектурно. Ты ещё можешь вспомнить автоматический боксинг/анбоксиг.
С точки зрения примитивов в java так – есть автоматическое приведение примитивов, если возможно.
// можешь
byte a = 10;
int b = b;
// не можешь
int c = 10;
byte d = c;
В Kotlin, к примеру, не так – в любом случае приведение нужно явно писать, потому что примитивы, как и всё остальное, являются объектами:
val a: Byte = 5
val b: Int = a.toInt()
val c: Int = 5
val d: Byte = c.toByte()
Исходная версия mono, :
Потому что примитивы в java живут по своим законам, и это изначально была не очень хорошая идея архитектурно. Ты ещё можешь вспомнить автоматический боксинг/анбоксиг.
С точки зрения примитивов в java так – есть автоматическое приведение примитивов, если возможно.
// можешь
byte a = 10;
int b = b;
// не можешь
int c = 10;
byte d = c;
В Kotlin, к примеру, не так – в любом случае приведение нужно явно писать, потому что примитивы, как и всё остальное, являются объектами:
val a: Byte = 5
val b: Int = a.toInt()
val c: Byte = 5
val d: Int = c.toInt()