一、?
1)、?在聲明對象時,把它跟在類名后面,表示這個類允許為null
var list: ArrayList<String>? = null
2)、調用對象時,把它跟在對象后面,表示如果為null程序就會視而不見,比如我們代碼如下
list?.size
這里就算是list為null,也不會拋出空指針異常,
3)、對象A?:對象B
var size = list?.size? : 0
?如果size不為空就取size的值,如果是空的話就取0,等價三元操作符
int size = list.size != 0? size : 0
?
?
?
?
?
?
?
?
?
二、 !!解釋
"!!"加在變量名后,如果對象為null,那么系統一定會報異常!