英文水平有限,欢迎指正
原文地址 :https://kotlinlang.org/docs/reference/basic-types.html#numbers
在Kotlin,一切都是对象,我们可以在任何变量调用成员函数和属性。一些类型时内置的,因为他们的实现优化,但用户看起来就像普通的类。在本节中我们将描述这些基本的类型: numbers, characters, booleans and arrays。
Numbers
Kotlin处理数据的方式接近Java,但不是完全一样。例如,没有隐含的扩大转换成number,在某些情况下,文字略有不同。Kotlin提供了以下内置类型代表数字(这是接近Java)
请注意,在Kotlin字符不是数字。
字面常量
有以下几种文字常量:
小数:123
长整型Long:123 L
十六进制:0x0f
二进制文件:0 b00001011
注:不支持八进制文字。
Kotlin也支持传统的浮点数表示法:
默认double:123.5、123.5 e10
float是由f和f标记:123.5f
代表性
在Java平台上,数据物理存储JVM原始类型,除非我们需要一个可以为空引用数量(例如Int ?)或泛型。在后一种情况下,数字被封装
注意,数字被封装以后不保留特性
val a: Int = 10000
print(a === a) // Prints 'true'
val boxedA: Int? = a
val anotherBoxedA: Int? = aprint(boxedA === anotherBoxedA) // !!!Prints 'false'!!!
另一方面,它保留了平等:
val a: Int = 10000
print(a == a) // Prints 'true'
val boxedA: Int? = a
val anotherBoxedA: Int? = aprint(boxedA == anotherBoxedA) // Prints 'true'