非空斷言操作符(!!)用于在編譯器中告知Kotlin編譯器,某個變量一定不會為空,如果為空則拋出空指針異常。
例如:
var name: String? = "John"
val length = name!!.length // 非空斷言操作符會告知編譯器,name一定不為空,可以直接調用length屬性,如果name為空則會拋出空指針異常
需要注意的是,非空斷言操作符會繞過Kotlin的空類型安全檢查,因此在使用時需要確保變量不為空,否則會導致空指針異常。通常情況下,應該避免過度使用非空斷言操作符,而是使用安全調用操作符(?.)或者安全轉換操作符(as?)來處理可能為空的情況。