如果我有一個代碼片段像沒有辦法告訴科特林編譯器之前調用函數已經沒有了空支票
val myNullableString : String?
val resultingString = if (myNullableString.isNullOrBlank())
myNullDefaultString else String.format(myNullableString!!, someOtherString)
我不得不使用myNullableString!!
在String.format()
因爲編譯器將無法弄清楚該isNullOrBlank()
包括一個空檢查。這是正確的還是有任何方法告訴編譯器,一個函數會推斷該實例不是null?
我覺得你的問題的代碼是非常明顯的。既然你知道'myNullableString'在else情況下不能爲null,所以使用!!是安全的。我寧願等待更新,而不是寫一些額外的功能。 – BakaWaii