前言
大家好,这里是「从零开始学 Kotlin 之『2 』数据类型」,本文首发于公众号「Binguner」,欢迎前往大家关注。我会每周分享一些关于 Android 和其他方向的技术干货或一些关于认知的文章。学习一门技术最好的方式就是去教会别人,所以,开始今天的学习吧!
Kotlin 中的数据类型有基本数据类型和应用类型:
基本数据类型值直接存在了变量
应用类型的变量存储的是类型所指对象的存储地址
并且对于基本的数据类型(类似于 int,float 等),Kotlin 不会区分其是数据类型还是包装类型,在运行的时候,数据会用最高效的方式显示。
01 数字
Kotlin 提供了与 Java 类似的数字类型
类型
位宽度
Double
64
Float
32
Long
64
Int
32
Short
16
Byte
8
01 - 1 转换函数
但是要注意:Kotlin 中没有隐式转换(就像 Java 中可以把 Int 转换为 Long),想要进行数字转换,需要使用转换函数:
val a:Byte = 1
val b:Int = a // 错误,编译器会提示所需类型为 Int,而提供的类型为 Byte
val c:Int = a.toInt() // 成功
每种数字类型都支持以下的数字转换方法:
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
01 - 2 装箱和拆箱
装箱是指将基本数据类型转换为其对应的包装器类型,
拆箱就是将包转器类型转换为基本数据类型。
在 Java 中:
Integer x = 123; // 是一个装箱操作
int y = x; // 是一个拆箱操作
而 Kotlin 中如何装箱拆箱呢?
val i1 = 123 // 拆箱
val i2:Int? = 123 // 装箱
想要了解其背后具体原理,可以自己动手将 Kotlin 代码编译成 Java 字节码一探究竟。
02 字面常量
为基本数据类型赋值