1.問(wèn)號(hào)可以加在任何類(lèi)型的后面來(lái)表示這個(gè)類(lèi)型的變量可以存儲(chǔ)null引用eg:string?,沒(méi)有問(wèn)號(hào)則代表不能存儲(chǔ)null引用
2.安全運(yùn)算符“救湖?.”,eg:S?.Bar(),如果s為空則返回null涎才,否則調(diào)用bar
3.Elvis運(yùn)算符:“?:”,也叫null合并運(yùn)算符力九,s?:""耍铜,如果s為null則返回"".
4.安全轉(zhuǎn)換as?,,,eg:foo as rype,,,如果能轉(zhuǎn)換則轉(zhuǎn)換,不能則返回null
5.非空斷言:“5啊棕兼!”。foo!!,如果這么聲明則表示foo不能為null抵乓,否則會(huì)報(bào)異常伴挚。
6.email.let{},只有email不為null時(shí)才會(huì)調(diào)用
7.延遲初始化的屬性:lateinit
8.判空:String.isEmptyOrNull()
9.Kotlin中所有的泛型類(lèi)和泛型函數(shù)得類(lèi)型參數(shù)默認(rèn)都是可空得灾炭,如果要使類(lèi)型參數(shù)非空茎芋,必須為他指定一個(gè)非空的上界any。
10.Kotlin可以識(shí)別很多種注解蜈出,包括jiava中的很多注解
11.java中的類(lèi)型再Kotlin中表示為平臺(tái)類(lèi)型田弥,可空可不空,所以我們要判斷
12.Kotlin不會(huì)自動(dòng)得把數(shù)字從一個(gè)類(lèi)型轉(zhuǎn)成另外一個(gè)類(lèi)型铡原,必須自己手動(dòng)處理
13.Any類(lèi)似于jiava中的object偷厦,是非空類(lèi)型,可空表示為Any燕刻?
14.unit和java中的void類(lèi)似只泼,但是如果聲明了unit,那么可以不顯示的返回null
15.String.toIntOrnull().不能轉(zhuǎn)化的時(shí)候會(huì)自動(dòng)返回null
16.便利集合并去掉其中的null卵洗,filterNotNull
17.collection只讀请唱,MutableCollection可修改