基本数据类型和其他基本类型
基本数据类型:Int、Boolean及其他
kotlin并不区分基本数据类型和包装类型,你使用的永远是同一个类型。在运行时,数字类型会尽可能地使用最高效的方式来表示。Int类型会被编译成java基本数据类型int。不可行的例外是泛型类,比如集合。用作泛型类型参数的基本数据类型会被编译成对应的java包装类型。
整数类型——Byte、Short、Int、Long
浮点数类型——Float、Double
字符类型——Char
布尔类型——Boolean
可空的基本数据类型:Int?、Boolean?及其他
kotlin中的可空类型不能用java的基本数据类型表示,因为null只能被存储在java的引用类型的变量中,只要使用了基本类型的可空版本,它就会被编译成对应的包装类型。JVM不支持用基本数据类型作为类型参数,所以泛型类必须始终使用类型的包装表示
数字转换
kotlin不会自动地把数字从一种类型转换成另一种

必须进行显式转换

每一种基本数据类型(Boolean除外)都定义有转换函数:toByte()、toShort()等。这些函数支持双向转换。为了避免意外情况,kotlin要求转换必须是显式的,尤其是在比较装箱值的时候。比较两个装箱值的equals方法不仅会检查它们存储的值,还要比较装箱类型。在java中new Integer(42).equals(new Long(42))会返回false
基本数据类型字面值
kotlin支持一下这些在代码中书写数字字面值的方式
1.使用后缀L表示Long类型(长整型)字面值:123L
2.使用标准浮点数表示Double(双精度浮点数)字面值:0.12、2.0、1.2e10
3.使用后缀F表示Float类型(浮点数)字面值:123.4f、456F
4.使用前缀

本文详细介绍了Kotlin的基本数据类型,包括Int、Boolean、浮点数、字符和布尔类型,以及它们的可空版本。Kotlin不区分基本类型和包装类型,但泛型类会使用对应的Java包装类型。文章还讨论了数字转换的显式要求,字面值的书写方式,以及Any和Any?作为根类型的作用。Unit类型类似于Java的void,而Nothing类型表示永不返回。在集合和数组部分,强调了可空性、只读与可变集合的区别,以及如何在Kotlin与Java之间转换。最后,详细阐述了对象和基本数据类型数组的创建与操作,包括如何从集合转换为数组。
最低0.47元/天 解锁文章
603

被折叠的 条评论
为什么被折叠?



