Kotlin秘籍之类型转换

之前的内容:

Kotlin秘籍之变量
Kotlin秘籍之基本类型

在java中,低精度向高精度转化是自动转换的,而高精度向低精度转化是强制转换的

image

在Kotlin中,不能进行类型的自动转换,这一点是和java不同的

Java代码

int a = 100 ;
long b = a ;

Java代码中,int类型的a会自动转换为long类型并分配给b,代码编译通过

Kotlin代码

var a: Int = 100
var b: Long = a    //type mismatch

Kotlin代码中,即使Long类型的范围大于Int类型,但是a不会自动Long类型,因此,你只能显示的去转换,你可以通过一下方式实现

var a: Int = 100
var b: Long = a.toLong()

Kotlin为我们提供如下的显示转换:

  • toByte()
  • toShort()
  • toInt()
  • toLong()
  • toFloat()
  • toDouble()
  • toChar()

值得注意的是,如果我们从范围较大的类型转换为范围较小的类型是,会发生截断

var a: Int = 545344
var b: Byte = a.toByte()
print("a = $a")  //545344
print("b = $b")  //64
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容