Kotlin数据类型
参考: 基本类型 相等性 空指针安全性 类型检查与转换 Java中有8种基本类型byte,short,int,long,float,double,boolean,char,还提供了支持字符串的java.lang.String类,最后提供了上述的数组类型。Kotlin中的数据类型与Java基本一致,不过可以将基本数据类型也看做对象。 数字 类型 |位宽度 --------|--------- Double |64 Float |32 Long |64 Int |32 Short |16 Byte |8 注意,Kotlin中字符不是数字。 在Java平台中,数字的以JVM中的基本数据类型保存于物理存储,除非我们想要一个可以为空(nullable)的数字或者使用了泛型,那么这时数字会装箱(boxed)为对应的类型。 数字装箱后不保留同一性(identity),但保留相等性(equality),这与Java中是一样的,两个数字值相等的对象是不同的两个对象,但它们的值是相等的。 与Java中不同的是,同一性比较使用三个等号符号:===或者!==,相等性比较使用:==或者!=。 对于数字的隐式转换和自动拆装箱,对比Java中和Kotlin中有何区别: Java中,表达式中的数字类型会自动拆箱为对应的基础类型,然后向上转型为表达式中较大的基础类型。自动装箱只能发生在对应的基础类型上。 Integer a = 11; Short b = 12; Long c = 13L; int i = 1; short j = 2; long k = 3; k = a; k = a + b; k = i + j; k += i; a = a + b; a = i + j; c += i; c = 14; // error, right expression is 'int' c = i + j; // error, right expression is 'int' c = a + b; // error, right expression is 'int' Kotlin中,与类型系统是相关的,因为所有数字类型都认为是对象,可以认为没有拆箱的说法,并且也没有隐式的类型提升,运算符事实上都是重载的操作符。 var a: Int?...