1)在class前面加“data”,会自动生成copy、tostring、hashcode、equals四个方法
2)所有的类都有父类Any,Any不是object。除了tostring、equals及hashcode没有别的方法
3)java中运算符|和&,在kotlin中使用or和and代替
4)不支持自动向上转型,需要toxxx去转换
操作符
1) ? 表示当前对象不能为空
2) !! 表示在当前对象不为空的情况下执行
3) == 和===的区别:==表示判断值是否想等;===判断值和引用是否完全相等
4) : 用于类名后面表示继承,用于变量名后面表示限定数据类型
5) .. 区间符号 如 1..99 代表1到99
表达式和语句
1)表达式:有返回值类型的 语句:自然语言,以;结尾的
java中的try() catch{ }在kotlin中转换成表达式 是有返回值的 例如:
变量的定义
在java中 int a = 0;
而在kotlin中定义语法是:val/var 变量名 : type
val : 常量 相当于final 一旦赋值 不可以修改
var:变量 可修改值
-循环
与java 相比,不需要使用三目运算
方法可以转化成简化版的表达式
使用 when 来代替 swtch
与java 相比 不需要使用instanceOf 关键字,而是使用 is 代替