"?"加在变量名后,系统在任何情况不会报它的空指针异常。
"!!"加在变量名后,如果对象为null,那么系统一定会报异常!
?到底怎么用。
在声明对象时,把它跟在类名后面,表示这个类允许为null;
在调用对象时,把它跟在对象后面,表示如果为null程序就会视而不见。
提供了对象A ?: 对象B表达式,并且取消了Java中的条件表达式 ? 表达式1 : 表达式2这个三元表达式
?:表示的意思是,当对象A值为null的时候,那么它就会返回后面的对象B。
val roomList: ArrayList? = null
if (roomList?.size ?: 0 > 0) { // 这一行添加了?:
Log.d(“TAG”, “–>> 房间数不是0”)
}