null安全與異常

null安全.jpg

null

  • 在Java中我們常見的空指針異常NullPointerException,帶給我們很多麻煩。Kotlin作為強大的語言,勢必會基于以往的語言設計經驗對其進行改良。Kotlin更多地把運行時可能會出現的null問題,以編譯時錯誤的方式,提前在編譯期強迫我們重視起來,而不是等到運行時報錯,防范于未然,提高了我們程序的健壯性。

可空性


  • 對于null值問題,Kotlin反其道而行之,除非另有規(guī)定,變量不可為null值,這樣一來,運行時崩潰從根源上得到解決。
fun main(){
    val str = "butterfly"
    str = null
    println(str)
}

Kotlin的null類型


  • 為了避免NullPointerException,Kotlin的做法是不讓我們給非空類型變量賦null值,但null在Kotlin中依然存在。
fun main(){
   var str:String? = readLine()
   str = null
   printlin("input:$str")
}

null安全


  • Kotlin區(qū)分可空類型和非可空類型,所以你要一個控股類型變量運行,而它又可能不存在,對于這種潛在的危險,編譯器時刻警惕著。為了應對這種風險,Kotlin不允許你在可空類型值上調用函數,除非你主動接手安全管理。
fun main(){
   val str:String = readLIne().capitalize()
   println(str)
}
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容