Kotlin有针对Java的NullPointerException
管理,kotlin开发中也会有很多?
和!!
出现,对于初学者来说肯定很糊涂。
- ? 表示当前对象可以为空,即可以
= null
- !! 表示当前对象不为空的情况下执行
/**
* name 可以为空,即name = null;
* 因为name有为空的可能性,所以people使用name时,需要在name后加!!,
* 代表name不为空时执行代码,如果为空,仍会报错;
*/
var name: String? = ""
var people: String = name!!
//一个小知识点,当列表为空时赋值0
val nameList:MutableList<String>? = null
val size = nameList?.size ?: 0
参考文章:https://www.jianshu.com/p/51b2e5aa3dd8