常识
Kotlin没有8进制,只有2进制和16进制,十进制;
as? 可以进行安全的类型转换,当转换失败时,会被自动赋为null:
1
2val s String ="aaa";
val a Int? = s as? Int
三引号””” “””中间能保留原始字符串的格式,而不会自动被转义,即使是多个空格也能够被保留,但是
支持使用字符串模板;在Java中,char类型能够表示对应的AscII码的数值,但Kotlin不支持这种转换,需要主动调用toInt()
进行转换;对于成员属性,默认会提供get和set方法,在这两个方法中,我们可以通过field关键字来访问当前的成员
变量;internal用来修饰类的可见性,表示该类在module内可见;在Java是没有这种修饰符的,所以与Java存
在兼容性问题,同样,Kotlin中也没有Java8中的default修饰符;
为类型声明别名
typealias可以用来为我们定义的类型声明别名:1
2//为函数类型:(Double) -> Double 声明别名为Discount
typealias Discount = (Double) -> Double
原始数据类型和自动装箱
数值类型的Int,Long,Float等,在没有声明为可null类型时,保留为原始类型, 无论是相等性==,
还是同一性===,只要数值相等,都是相同的;当声明为可null类型时,比如val a : Int? 时,被自动装箱为对象,此时只保留了相等性==,不保留同
一性,不同对象即使数值相等,===同一性判断仍为false;