显示转化
对于不同的展示,小的类型并不是大类型的子类。
将较小的类型赋值给较大的类型并不会成功,是语法错误。
每个数字都含有以下方法:
* 1.toByte()
* 2.toShort()
* 3.toInt()
* 4.toLong()
* 5.toFloat()
* 6.toDouble()
* 7.toChar()
val b: Byte = 1 // OK, literals are checked statically
val i: Int = b // ERROR
可以显示的将其进行转换。
val i: Int = b.toInt() // OK: explicitly widened
* 没有隐式转换是很少见的,因为可以通过上下文和数学计算得出结果的合适类型,如:
val l = 1L + 3 // Long + Int => Long