1.问号可以加在任何类型的后面来表示这个类型的变量可以存储null引用eg:string?,没有问号则代表不能存储null引用
2.安全运算符“?.”,eg:S?.Bar(),如果s为空则返回null,否则调用bar
3.Elvis运算符:“?:”,也叫null合并运算符,s?:"",如果s为null则返回"".
4.安全转换as?,,,eg:foo as rype,,,如果能转换则转换,不能则返回null
5.非空断言:“!!”。foo!!,如果这么声明则表示foo不能为null,否则会报异常。
6.email.let{},只有email不为null时才会调用
7.延迟初始化的属性:lateinit
8.判空:String.isEmptyOrNull()
9.Kotlin中所有的泛型类和泛型函数得类型参数默认都是可空得,如果要使类型参数非空,必须为他指定一个非空的上界any。
10.Kotlin可以识别很多种注解,包括jiava中的很多注解
11.java中的类型再Kotlin中表示为平台类型,可空可不空,所以我们要判断
12.Kotlin不会自动得把数字从一个类型转成另外一个类型,必须自己手动处理
13.Any类似于jiava中的object,是非空类型,可空表示为Any?
14.unit和java中的void类似,但是如果声明了unit,那么可以不显示的返回null
15.String.toIntOrnull().不能转化的时候会自动返回null
16.便利集合并去掉其中的null,filterNotNull
17.collection只读,MutableCollection可修改
网友评论