柚子快報激活碼778899分享:面試 開發(fā)語言 Kotlin中
柚子快報激活碼778899分享:面試 開發(fā)語言 Kotlin中
不懂就問百度呀,確實有人解釋它們的區(qū)別,比如:
這是輸入"kotlin ?和!!"搜索到的百度第一條答案,確實這位說的沒錯。不過我覺得對于一個剛接觸KT(Kotlin)的新手來說,他恐怕需要有漢語八級才能透徹理解這兩句話的意思。
先闡述兩個概念:
"?"加在變量名后,系統(tǒng)在任何情況不會報它的空指針異常。
"!!"加在變量名后,如果對象為null,那么系統(tǒng)一定會報異常!
在Java上出異常的,轉(zhuǎn)化到KT上,編譯器任然會讓他保持拋出異常,NullPointerException也是如此。
所以結(jié)合上下文可以看得出,!!加上去后好像并沒有和之前Java代碼有什么區(qū)別嘛,該null的地方任然會拋出異常。所以大多數(shù)情況下都會使用?來檢測null,輪不到!!出場。!!只會在你需要對某對象進(jìn)行非空判斷,并且需要拋出異常時才會使用到。
那我們接下來著重講解一下?到底怎么用。 在聲明對象時,把它跟在類名后面,表示這個類允許為null; 在調(diào)用對象時,把它跟在對象后面,表示如果為null程序就會視而不見。 如下列代碼:
// 這是聲明一個變量,問號跟在類名后面 var room: Room? = Room()
private fun checkRoom() { // 因為加上了問號,所以可以任意的把room變成空 room = null
// 因為在調(diào)用時加上了問號,所以程序不會拋出異常 Log.d(“TAG”, “–>> room name = ${room?.roomName}”) }
再舉個不用?的例子: // 這樣程序就默認(rèn)的給room加上了!!,從此以后room不允許為null var room: Room = Room()
private fun checkRoom() { // 當(dāng)把null賦給room時,從編譯的時候就已經(jīng)不通過 room = null // 并且編譯器建議把對象后面的問號刪除,因為這個對象永遠(yuǎn)不為空 Log.d(“TAG”, “–>> room name = ${room.roomName}”) }
所以加上?是一種安全的寫法,它體現(xiàn)了Kotlin null safety的特性。 KT的語法很靈動,定義參數(shù)還可以寫成
自我介紹一下,小編13年上海交大畢業(yè),曾經(jīng)在小公司待過,也去過華為、OPPO等大廠,18年進(jìn)入阿里一直到現(xiàn)在。
深知大多數(shù)Android工程師,想要提升技能,往往是自己摸索成長或者是報班學(xué)習(xí),但對于培訓(xùn)機(jī)構(gòu)動則幾千的學(xué)費,著實壓力不小。自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前!
因此收集整理了一份《2024年Android移動開發(fā)全套學(xué)習(xí)資料》,初衷也很簡單,就是希望能夠幫助到想自學(xué)提升又不知道該從何學(xué)起的朋友,同時減輕大家的負(fù)擔(dān)。
既有適合小白學(xué)習(xí)的零基礎(chǔ)資料,也有適合3年以上經(jīng)驗的小伙伴深入學(xué)習(xí)提升的進(jìn)階課程,基本涵蓋了95%以上Android開發(fā)知識點,真正體系化!
由于文件比較大,這里只是將部分目錄大綱截圖出來,每個節(jié)點里面都包含大廠面經(jīng)、學(xué)習(xí)筆記、源碼講義、實戰(zhàn)項目、講解視頻,并且后續(xù)會持續(xù)更新
如果你覺得這些內(nèi)容對你有幫助,可以添加V獲?。簐ip204888 (備注Android)
最后
這里我特地整理了一份《Android開發(fā)核心知識點筆記》,里面就包含了自定義View相關(guān)的內(nèi)容
除了這份筆記,還給大家分享?Android學(xué)習(xí)PDF+架構(gòu)視頻+面試文檔+源碼筆記,高級架構(gòu)技術(shù)進(jìn)階腦圖、Android開發(fā)面試專題資料,高級進(jìn)階架構(gòu)資料這幾塊的內(nèi)容。非常適合近期有面試和想在技術(shù)道路上繼續(xù)精進(jìn)的朋友。
分享上面這些資源,希望可以幫助到大家提升進(jìn)階,如果你覺得還算有用的話,不妨把它們推薦給你的朋友~
喜歡本文的話,給我點個小贊、評論區(qū)留言或者轉(zhuǎn)發(fā)支持一下唄~
面這些資源,希望可以幫助到大家提升進(jìn)階,如果你覺得還算有用的話,不妨把它們推薦給你的朋友~
喜歡本文的話,給我點個小贊、評論區(qū)留言或者轉(zhuǎn)發(fā)支持一下唄~
本文已被CODING開源項目:《Android學(xué)習(xí)筆記總結(jié)+移動架構(gòu)視頻+大廠面試真題+項目實戰(zhàn)源碼》收錄
柚子快報激活碼778899分享:面試 開發(fā)語言 Kotlin中
相關(guān)文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。